我有这些模型:动态极限选择为外键
class UserProfile(models.Model):
name = models.CharField(max_length=100)
class Dialog(models.Model):
belong_to = models.ManyToManyField(UserProfile)
class Message(models.Model):
# Dialog to which this message belongs
part_of = models.ForeignKey(Dialog)
# User who sends message
sender = models.ForeignKey(UserProfile, related_name='sender')
# User who receives message
receiver = models.ForeignKey(UserProfile, related_name='receiver')
我想要做的是限制发送者和接收者领域的选择,使他们只能是整个对话所属的用户。 我尝试这样做:
sender = models.ForeignKey(UserProfile,
related_name='sender',
limit_choices_to={'dialog':1})
这限制了选择,但仅用于与ID = 1对话框的成员。我想知道这是否可以动态完成?
这个想法是不可接受的,因为每个消息的发送者 - 接收者是不同的。当我发布内容时 - 我是发件人,你是收件人,反之亦然。因此,在同一个对话框中,发送者 - 接收者可能会改变 – wasd 2015-03-25 13:07:34