我有一个Django模型,我正在尝试在我的Django管理员中做这样的事情。
from django.contrib.auth.models import User
class Patient(models.Model):
id = models.AutoField(primary_key=True)
patient_ID = models.ForeignKey(PatientProfile)
temp = models.CharField(max_length=10, blank=True, editable=True)
pulse = models.CharField(max_length=10, blank=True, editable=True)
class Meta:
if user.is_superuser:
verbose_name = "Doctor Consulting"
verbose_name_plural = "Doctor Consulting"
else:
verbose_name = "Patients Details"
verbose_name_plural = "Patients Details"
但这不起作用。我已经在我的管理员中注册了该模型。 我得到这样的错误;
如果user.is_superuser: 未定义NameError用户
任何帮助将不胜感激。感谢
答案 0 :(得分:1)
经过一周的研究,我发现了Django中的代理模型,这些代理模型可以给出元冗长的名称。因此我继续注册不同的代理模型(对于相同的父模型)然后我根据用户组给他们不同的详细名称。像这样;
class Patient(models.Model):
id = models.AutoField(primary_key=True)
patient_ID = models.ForeignKey(PatientProfile)
temp = models.CharField(max_length=10, blank=True, editable=True)
pulse = models.CharField(max_length=10, blank=True, editable=True)
class Meta:
verbose_name = "Doctor Consulting"
verbose_name_plural = "Doctor Consulting"
class PatientProxy(Patient):
class Meta:
proxy = True
verbose_name = "Nurse Consulting"
verbose_name_plural = "Nurse Consulting"
现在在django管理员中,我可以选择哪个用户可以查看哪个详细名称,尽管它是相同的模型。我希望有一天能帮到别人。