gpt4 book ai didi

python - Django 内联元素为多对多关系提供错误

转载 作者:太空宇宙 更新时间:2023-11-04 06:26:12 25 4
gpt4 key购买 nike

在管理中我想使用内联元素。我要分类展示它相关的项目。

但是我得到这个错误:

Exception at /admin/store/category/7/
<class 'store.models.Item'> has no ForeignKey to
<class 'store.models.Category'>

这是真的,当然,因为我选择使用类别来指向它有的元素。但是,我怎样才能让管理员列出内联的所有项目给定的Category有?我该如何解决这个错误?

背景:

class Category:
items=models.ManyToManyField(Item,through='Categoryhasitem')'

class Categoryhasitem(models.Model):
category = models.ForeignKey(Category, db_column='category')
item = models.ForeignKey(Item, db_column='item')

class Item(models.Model):
id = models.AutoField(primary_key=True)

这是我的 admin.py 文件。

class ItemInline(admin.TabularInline):
model=Item
class CategoryAdmin(admin.ModelAdmin):
inlines=[ItemInline,]
class ItemAdmin(admin.ModelAdmin):
pass
admin.site.register(Category, CategoryAdmin)
admin.site.register(Item, ItemAdmin)

最佳答案

使用内联显示多对多关系的语法略有不同。

class ItemInline(admin.TabularInline):
model = Category.items.through

class CategoryAdmin(admin.ModelAdmin):
inlines = [
ItemInline,
]
exclude = ('items',)

请参阅 working with many-to-many models 的 django 管理文档了解更多详情。

关于python - Django 内联元素为多对多关系提供错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7894963/

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