[英]making django model field that is a foreign key pointing to a model field in different app taking array of user in a specific group
我是 django rest 框架的新手,我想要实现的是创建一个 model 字段,它是一个外键并指向另一个应用程序 model 并获取他们的user_id
(预定义的自动 id)
users\models.py
class user(models.Model):
username = models.CharField(max_length=10, unique=True)
name = models.CharField(max_length=64)
creationtime = models.DateTimeField(auto_now_add=True)
userdescription = models.CharField(max_length=250)
def __str__(self) -> str:
return self.username
teams\models.y
class team(models.Model):
teamname = models.CharField(max_length=64)
description = models.CharField(max_length=128)
creationtime = models.DateTimeField(auto_now_add=True)
admin = models.ForeignKey(user, related_name='admin', on_delete=models.CASCADE)
members = models.ForeignKey(user, related_name='members', on_delete=models.CASCADE)
def __str__(self) -> str:
return self.teamname
所以我想要的是,当我在数据库中看到members
列时,它应该显示一个user_id
数组,如下所示:
members: [1,2,5,7,8]
这些数字指的是为每一行创建的自动索引,或者你知道当我们为特定的user_id
发出 get 请求时,例如: https://localhost:8000/users/1/
先谢谢您的帮助。
您可以为多对多关系创建 go,因为它会创建和引用用户和团队的中间表
members = models.ManyToManyField(user,help_text='Select members for this team')
你应该以相反的方式进行。
每个用户都应该有一个带有 related_name = “members” 的团队字段(外键)。
然后如果你想得到团队的所有成员,你可以使用相关的名字。
(在 Django 中只有 manyToOne 而不是 OneToMany)
用户\模型.py
class user(models.Model):
. . .
team = models.ForeignKey(user, related_name='members', on_delete=models.CASCADE)
团队\模型.y
class team(models.Model):
teamname = models.CharField(max_length=64)
description = models.CharField(max_length=128)
creationtime = models.DateTimeField(auto_now_add=True)
admin = models.ForeignKey(user, related_name='admin', on_delete=models.CASCADE)
def __str__(self) -> str:
return self.teamname
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.