python - 在 Django 管理中,在初始保存时发推文?

标签 python django model tweets

我正在使用 Django,并且最近创建了一个博客作为我的第一个 Django/python 项目。为了简单起见,我决定使用我的博客管理系统的默认管理区域。我想在最初创建博客文章时自动发布 Twitter 更新,但在编辑博客文章时则不然。我知道如何发送推文,但如何在帖子的初始保存时运行一些代码,而不是在编辑后运行?

我使用的是 Django 1.5.4,博客文章的模型简称为“Post”。

最佳答案

您至少可以通过两种方式执行此操作:您可以像这样重写模型的保存方法:

class Post(models.Model):
    ...
    def save(self, *args, **kwargs):
       if not self.pk:
         #tweet about the post
       super(Post, self).save(*args, **kwargs)

..但是如果您只想将此行为与 django admin 关联(例如,您只想在通过管理应用程序创建帖子时发布有关帖子的推文,而不是在显式调用 Post.objects.create() 时发布帖子) ),然后您可以使用 ModelAdmin 类的 save_model() 方法:

class PostAdmin(admin.ModelAdmin):
   ....
   def save_model(self, request, obj, form, change):
      if not obj.pk:
         #tweet about the post
      obj.save()

您还可以查看https://docs.djangoproject.com/en/dev/ref/contrib/admin/

关于python - 在 Django 管理中,在初始保存时发推文?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20874828/

相关文章:

Django - 模型图形表示 (ERD)

python - 为什么 Keras/tensorflow 的 sigmoid 和交叉熵精度低?

python - 请求 POST 方法中的位置

python - 如何在 Python 3 中使用过滤器、映射和归约

python - 如何拥有不带破折号的 models.UUIDField 字段

python - 当我访问对象的属性时,Django 是否会访问数据库?

c# - Model 和 ViewModel 的验证最佳实践

python - 在 Python for 循环中创建多个绘图

Html - 在更改页面大小时使表单响应

ruby-on-rails - 生产 Rake 任务无法识别我的模型