REST在Django中为不同的用户添加属性



我构建了我的第一个应用程序,它允许我在一个名为" projects "的表中创建新条目。现在我有一个标准的用户模型,我想创建一个新的表,我可以分配一个用户(ID或名称)到一个或多个项目对象。

理想情况下,这应该是一个全新的表,只包含用户ID/名称和项目ID/名称的入口对。但是我真的不知道如何从Users列表中提取一个对象,从projects列表中提取一个对象,并将它们放在一个新表中。

用户应该能够添加一个新的'项目',并被自动分配给它。

我建议这样构建你的模型:

class Project(models.Model):
... other fields
users = models.ManyToManyField(User, null=True, blank=True)

正如您在这里看到的,我正在使用manymany关系,它创建了另一个存储project_id-user_id对的表。

如果您想返回项目对象的所有User对象,您应该这样做:

project = Projects.objects.get(...)
project_users = project.users.all()

如果你想为User对象返回相关的项目,你应该这样做:

user = User.objects.get(...)
user_projects = user.project_set.all()

更多参考请参见https://docs.djangoproject.com/en/3.2/topics/db/examples/many_to_many/

相关内容

  • 没有找到相关文章