Bar*_*tek 5 django django-admin
我刚刚将我的一个模型转换为使用通用外键.模型正在使用这些,数据库正在报告正确的值,我所拥有的API与新的外键完美配合,零变化(保持相同的字段名称).
但是,管理员完全失败了.Inline显示没有数据,尽管有一些(见上文).这是我的型号代码:
class CartItem(models.Model):
cart = models.ForeignKey(Cart)
quantity = models.PositiveIntegerField()
price_item = models.DecimalField(max_digits=19, decimal_places=2)
content_type = models.ForeignKey(ContentType)
object_id = models.PositiveIntegerField(db_column="shop_item_id")
shop_item = generic.GenericForeignKey("content_type", "object_id")
Run Code Online (Sandbox Code Playgroud)
相当直截了当吧?admin.py看起来像这样:
class CartItemInline(generic.GenericTabularInline):
model = CartItem
class CartAdmin(admin.ModelAdmin):
inlines = [
CartItemInline,
]
Run Code Online (Sandbox Code Playgroud)
有趣的事实.如果我将'shop_item'添加到内联类中的字段元组,我会收到此错误:
'CartItemInline.fields'指的是表单中缺少的字段'shop_item'.
但是......它在那里?我已经尝试了一切,30分钟后,我只是放弃了最有可能解决问题的极其简单的问题,我的眼睛今天根本看不到.:(
所有这些在使用GenericForeignKey之前都有效,所以不确定问题是什么.
谢谢你的帮助.
嗯……也许
admin.site.register(CartItem, CartItemAdmin)
Run Code Online (Sandbox Code Playgroud)
在admin.py的末尾?
http://docs.djangoproject.com/en/dev/ref/contrib/admin/#using-generic-relations-as-an-inline
我想这是因为你说“内联没有显示数据”所以我猜你没有注册它。我知道这听起来很愚蠢,但这就是我的想法。
| 归档时间: |
|
| 查看次数: |
1297 次 |
| 最近记录: |