早安,
在Django的“ models.py”内部,我想使用这些属性创建一个名为“ Coworker”的新类
class Coworker(models.Model):
roles = (
('Role A', 'Role A'),
('Role B', 'Role B'),
)
fullname = models.CharField(max_length=255, null=False)
role = models.CharField(max_length=100, null=False, choices=roles)
supervisor = models.CharField(...?)
我还想创建一个“主管”,它应该调查该类并向我显示所有“全名”,并以“角色A”作为选择。因此,当然在开始时该字段将为空。
这可能吗?函数“ db_column”似乎不起作用。还是我做错了?
谢谢大家!
[您缺少2分,Lemme说明
from django.contrib.auth import get_user_model
User = get_user_model()
class Coworker(models.Model):
..........
user = models.OneToOneField(User...., on_delete=..)
supervisor = models.OneToOneField(User...., on_delete=..) # **
或者如果您想要多个主管,则更好,请删除**行并创建此
class Supervisor(models.Model):
coworker_supervised = models.ForiegnKey(Coworker, on_delete...,related_name='supervisors')
这意味着supervisor_instance.corworker_supervised
和coworker.supervisors
或更好,如果主管可以监督多个用户并且该用户可以有多个主管,请使用m2m
。>>
first_name
,last_name
,如果需要full_name
,请在用户上定义一个返回first_nam
和last_name
并置的方法。] >请参阅this问题。