django - 添加新用户

时间:2013-12-01 17:56:30

标签: django django-models

我猜我的问题很简单,但我很难解决它。请看看我的模特:

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)

1 个答案:

答案 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将自动执行这些操作。