【问题标题】:GenericForeignKey and django adminGenericForeignKey 和 django 管理员
【发布时间】:2011-11-17 09:57:17
【问题描述】:

我尝试使用 Django 管理员显示和添加评论,但 Comment 模型使用 GenericForeignKey 参考。

# in model.py
class Comment(models.Model):
    type      = models.ForeignKey(ContentType)
    object_id = models.PositiveIntegerField()
    object    = generic.GenericForeignKey('type')
    text      = models.TextField()

# in admin.py
class CommentAdmin(admin.ModelAdmin):
    list_display = ('type', 'object', 'text')
    fields = ('type', 'object', 'text')

admin.site.register(Comment, CommentAdmin)

但是 Django 生成错误:

“CommentAdmin.fields”指的是缺少的字段“对象” 表格。

如何解决?

【问题讨论】:

    标签: django django-models


    【解决方案1】:

    GenericForeignKey 不是数据库中的字段;它是通过设置object_idtype 为您定义的对象启用api 的助手,因此您的表单中不需要它。

    要修复它,只需将其取出并放入 object_id:

    fields = ('type', 'object_id', 'text')
    

    【讨论】:

      猜你喜欢
      • 2023-03-24
      • 1970-01-01
      • 2011-10-09
      • 1970-01-01
      • 1970-01-01
      • 2016-07-18
      • 2012-02-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多