我正在尝试创建属性列表并将其链接到对象。
表:属性
class Properties(models.Model):
Property = models.CharField(primary_key=True, max_length=4......
PropetyDesc = models.CharField(max_length= .......
表:木头
class Wood(models.Model):
Name = models.CharField(max_length= .....
Property = models.ForeignKey(Properties, on_delete=models......
首先,我尝试使用Django Admin的功能来查看数据库设计如何堆叠。
简而言之,我的管理页面看起来像一个用于创建采购订单的GUI,其中标题部分将包含订单详细信息,而在项目行中,我们将包含以下材料:
在当前情况下,我试图将对象(Wood)放在标题上,并且在正在创建的“ TabularInline”中将具有选择属性的选项。
class PropertiesInline(admin.TabularInline):
model = Properties
def get_extra(self, request, obj=None, **kwargs):
extra = 1
return extra
class WoodAdmin(admin.ModelAdmin):
list_display = ('Name', 'Property')
fields = ['Name', 'Property']
inlines = [PropertiesInline]
admin.site.register(Wood, WoodAdmin)
但是,我最终遇到以下错误:
ERRORS:
<class 'mapp.admin.PropertiesInline'>: (admin.E202) 'mapp.Properties' has no ForeignKey to 'mapp.Wood'.
另一方面,如果我要扭转这种情况:
class WoodInline(admin.TabularInline):
model = Wood
def get_extra(self, request, obj=None, **kwargs):
extra = 1
return extra
class PropertiesAdmin(admin.ModelAdmin):
list_display = ('Property', 'PropetryDesc')
fields = ['Property', 'PropertyDesc']
inlines = [WoodInline]
admin.site.register(Properties, PropertiesAdmin)
页面已加载,但最终我在标题中获得了“属性”,并带有用于选择“木材”的各种记录的选项。
有没有一种方法可以实现我想要的目标。