Ben*_*Ben 4 django django-models django-admin
我的管理员工作得很好,而不是一个大的路障.我在帖子和标签之间建立了许多关系.我可以在我的管理员中使用CRUD标签,但出于某种原因,我收到以下错误消息:
Exception at /admin/website/post/add/
<class 'website.models.Tag'> has no ForeignKey to <class 'website.models.Post'
Run Code Online (Sandbox Code Playgroud)
这是我的模特:
class Post(models.Model):
user=models.ForeignKey(User, unique=True)
title=models.CharField(max_length=80)
slug=models.SlugField()
description=models.TextField(max_length=1000, blank=True)
created=models.DateField(auto_now_add=True)
#following info is for processing purposes
management_phone=models.CharField(max_length=200, blank=True)
management_email=models.CharField(max_length=200, blank=True)
processing=models.BooleanField(default=False)
transacted=models.BooleanField(default=False)
manually_closed=models.BooleanField(default=False)
def __unicode__(self):
return self.title
class Tag(models.Model):
title=models.CharField(max_length=100)
posts=models.ManyToManyField(Post, blank=True,null=True)
def __unicode__(self):
Return self.title
Run Code Online (Sandbox Code Playgroud)
同样,只有在我尝试添加Post实例时才会出现问题
我的数据库中有一个数据库表"website_tag_posts"用于关系.这有什么问题?
谢谢
Yuj*_*ita 11
对我来说听起来就像你设置了Post ModelAdmin一个Tag Inline.
ManyToMany不是外键,因此您无法像这样设置内联.
如果需要内联,请将m2m字段的直通模型指定为模型.用于M2M领域通过表中包含了ForeignKey你的Post表.
table tag <- table tag_post -> table post
class TagInline(admin.StackedInline):
model = Tag.posts.through
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2365 次 |
| 最近记录: |