[英]Django 1.11 - Inline Admin Model - Error: admin.E106
我想访问艺术管理页面中的图像模型,因为它是在文档中编写的,但出了点问题:
/画廊/模型.py:
class Image:
name = models.CharField(max_length=256)
thumb = models.CharField(max_length=256)
product = models.ForeignKey(Art, on_delete=models.CASCADE, related_name='images')
/产品/admin.py:
class ArtImage(admin.TabularInline):
model = Image
extra = 3
class ArtAdmin(admin.ModelAdmin):
inlines = [ArtImage]
admin.site.register(Art, ArtAdmin)
当我应用 makemigrations 命令时,我得到
SystemCheckError:系统检查发现了一些问题:错误::(admin.E106)'product.admin.ArtImage.model' 的值必须是一个模型。
可能是什么?
正如 Alasdair 在评论中指出的那样,我在编写 Image 类时忘记扩展 models.Model,这就是它没有被识别为 Model 实例的原因。
Image 类应如下所示:
class Image(models.Model):
name = models.CharField(max_length=256)
thumb = models.CharField(max_length=256)
product = models.ForeignKey(Art, on_delete=models.CASCADE, related_name='images')
忠告:不要在累的时候写代码,你会犯愚蠢的错误
在我的情况下,我在定义内联时不小心留下了一个尾随逗号:
class PhotoInline(admin.TabularInline):
model = Photo, # <-- watch out for the comma
extra = 0
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.