gpt4 book ai didi

Django GenericTabularInline 根本行不通,但模型是正确的

转载 作者:行者123 更新时间:2023-12-03 17:59:56 28 4
gpt4 key购买 nike

我刚刚将我的一个模型转换为使用通用外键。该模型与这些一起正常工作,数据库报告正确的值,并且我拥有的 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")

相当简单,对吧? admin.py看起来像这样:
class CartItemInline(generic.GenericTabularInline):
model = CartItem

class CartAdmin(admin.ModelAdmin):
inlines = [
CartItemInline,
]

有趣的事实。如果我将“shop_item”添加到内联类中的字段元组中,我会收到此错误:

'CartItemInline.fields' refers to field 'shop_item' that is missing from the form.



但是..它在那里?我已经尝试了一切,30 分钟后,我只是放弃了最有可能解决问题的可笑简单的问题,而我的眼睛今天根本看不到。 :(

所有这些在使用 GenericForeignKey 之前都有效,所以不确定问题可能是什么。

谢谢你的帮助。

最佳答案

嗯……也许吧

admin.site.register(CartItem, CartItemAdmin)

在 admin.py 的末尾?

http://docs.djangoproject.com/en/dev/ref/contrib/admin/#using-generic-relations-as-an-inline

我假设这是因为你说“内联显示没有数据”所以我猜你没有注册它。我知道这听起来很愚蠢,但这就是我的想法。

关于Django GenericTabularInline 根本行不通,但模型是正确的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3120807/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com