请查看我的models.py。
models.py:
class Thread(models.Model):
pass
class ThreadParticipant(models.Model):
thread = models.ForeignKey(Thread)
user = models.ForeignKey(User)
class Message(models.Model):
thread = models.ForeignKey(Thread)
sent_date = models.DateTimeField(default=datetime.now)
body = models.TextField()
user = models.ForeignKey(User)
class MessageReadState(models.Model):
message = models.ForeignKey(Message)
user = models.ForeignKey(User)
read_date = models.DateTimeField()
当我尝试创建新消息时遇到两个问题:
我想我可以在views.py中解决这个问题,但我认为在models.py中解决这个问题会更好。请帮我解决问题。我会很感激。谢谢。
修改
假设我需要创建一条新消息。步骤将是:
Thread
。ThreadParticpant
)创建一个新的pk
。ThreadParticipant
创建新用户(参与者)。所以我的问题是,当我尝试创建新消息时,我不想先创建新线程或创建一组新的ThreadParticipants。我只是希望它在后台,所以我所要做的就是创建一条消息并将其发送给用户。因此,我的问题是:
ThreadParticipant
?ThreadParticipant
有新的线程要关联,我如何获得发送消息的用户并为该组线程参与者创建新用户?可以通过覆盖save方法或类方法来完成吗?
答案 0 :(得分:1)
对于您的第一个问题,我认为您应该使用F的django-dynamic-fixture功能
对于第二个问题,请使用此User.objects.get_or_create(conditions)