我是Django的新手,正在研究我项目的管理部分。下面是models.py的代码。
class Shops(models.Model):
name = models.CharField(max_length=200)
description = models.CharField(max_length=1500)
address = models.CharField(max_length=1000)
location = models.CharField(max_length=100)
contact_number = models.IntegerField()
other_details = models.CharField(max_length=100,null='true')
def __str__(self): # __unicode__ on Python 2
return (self.name)
class Shop_Type(models.Model):
category = models.CharField(max_length=500)
def __str__(self): # __unicode__ on Python 2
return (self.category)
class Shop_Category(models.Model):
shop_id = models.ForeignKey(Shops)
category_id = models.ForeignKey(Shop_Type)
现在我想显示在" Shops"中插入数据的选项。和" Shop_Category"管理模块的单个页面中的表,因为它们都连接在一起。我提到this问题,但未能实现我想要的。以下是我使用的admin.py的代码:
class ShopCatAdmin(admin.ModelAdmin):
model = Shop_category
class ShopsAdmin(admin.ModelAdmin):
inlines = [ShopCatAdmin]
admin.site.register(Shops, ShopsAdmin)
抛出一些属性错误,说 - "' ShopCatAdmin'对象没有属性' get_formset'"
如果有人能帮助我解决这个问题,那就太好了。
提前致谢:)
答案 0 :(得分:1)
您需要将ShopCatAdmin
定义为继承内联管理员类,而不是基本管理员。
class ShopCatAdmin(admin.TabularInline):
model = Shop_Category
(注意,Python样式不鼓励类名中的下划线;您的模型应该称为ShopType和ShopCategory。)