1

我是 Django 的新手,刚刚完成了制作第一个应用程序教程。我有一个关于外键的问题

在models.py 中,我有两个名为Post 和GroupMeeting 的类。在小组会议中,有一个外键链接到 Post 类。现在,我希望 GroupMeetings 只有类别 = 0 的帖子项目

在我的实现中,我调用了所有的 Post Items。有没有办法使用 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)
4

1 回答 1

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})

只要选择不依赖于上下文,就非常简单。

于 2013-10-04T06:27:25.677 回答