我猜我的问题很简单,但我很难解决它。请看看我的模特:
models.py:
class ThreadParticipant(models.Model):
thread = models.ForeignKey(Thread)
user = models.ManyToManyField(User)
我可以用新用户创建一个ThreadParticipant。但是如何为该ThreadParticipant创建另一个新用户?当我尝试通过管理员创建它时,我选择的那个只会成为该线程的用户,而不是将其添加到threadparticipant
。请帮我解决一下。谢谢。
修改
class Message(models.Model):
thread = models.ForeignKey(Thread)
sent_date = models.DateTimeField(default=datetime.now)
body = models.TextField()
user = models.ForeignKey(User)
答案 0 :(得分:0)
如果您感兴趣的是线程和用户对象,我建议您不要通过第三个模型对Threads模型中的用户进行模糊处理。
您的模型如下所示:
class Thread(models.Model):
*** other items in model***
user = models.ManyToManyField(User)
使用此实施例,运行:
>>> manage.py shell
>>> from YOUR_MODEL.models import Thread
>>> t = Thread.objects.get(pk = THREAD-ID-NUMBER)
进行测试,只需使用1.它将是您输入的第一个
>>> user_to_add = User.objects.get(username = 'WHOMEVER')
用户名
>>> t.user.add(user_to_add)
>>> t.save()
别忘了保存
看起来你刚刚开始使用Django。我的建议是在shell中运行一些基本模型的练习(如上所述)。这些命令是您最终将放置在视图中的命令,这样Django将自动执行这些操作。