我是Django的新手,刚刚完成了制作第一个应用教程。 我有一个关于外键的问题
在models.py中 我有两个名为Post和GroupMeeting的类。 在groupmeetings中,有一个foreignkey链接到Post类。 现在,我希望GroupMeetings只有Post项目 category = 0
在我的实施中,我调用所有帖子项目。 有没有办法使用limit_choices_to参数或其他东西过滤它? (我不太明白limit_choices_to参数是如何工作的......)
class Post(models.Model):
date = models.DateTimeField()
category = models.IntegerField()
content = models.CharField(max_length=400)
#writerId ...
CATEGORY = (
(0, 'MeetingPost'),
(1, 'AnnounceBoard'),
(2, 'FreeBoard'),
)
tag = models.ManyToManyField(PostTag)
replies = models.ForeignKey(PostReply)
class GroupMeeting(models.Model):
date = models.DateTimeField()
placeGPS = models.FloatField()
placeName = models.CharField(max_length=30)
dateRepeat= models.ForeignKey(RepeatDays)
post = models.ForeignKey(Post)
答案 0 :(得分:1)
如果要限制外键的选择,请按以下步骤操作:
class GroupMeeting(models.Model):
date = models.DateTimeField()
placeGPS = models.FloatField()
placeName = models.CharField(max_length=30)
dateRepeat= models.ForeignKey(RepeatDays)
post = models.ForeignKey(Post, limit_choices_to = {'category': 0})
只要选择不依赖于上下文,就非常简单。