我有一个模特'约会'。在该类中,患者与内置的用户模型相关联。我为该类创建了一个模型表单。是否可以从同一表单内实例化另一个类的对象(现场患者中的用户)。我无法访问表单中的用户模型字段。怎么办呢?
class Appointment(models.Model):
doctor = models.ForeignKey(Doctor)
clinic = models.ForeignKey(Clinic, null=True, blank=True)
hospital = models.ForeignKey(Hospital, null=True, blank=True)
day = models.DateField()
time = models.TimeField()
patient = models.ForeignKey(User)
我为此模型创建了一个ModelForm,如下所示:
class HospitalCreateAppointmentForm(forms.ModelForm):
def __init__(self, *args, **kwargs):
super(HospitalCreateAppointmentForm, self).__init__(*args, **kwargs)
for field in iter(self.fields):
self.fields[field].widget.attrs.update({
'class': 'form-control'
})
class Meta:
model = Appointment
fields = ['doctor','hospital','day','time','patient']
widgets = {
'day': forms.SelectDateWidget(),
}
答案 0 :(得分:1)
我不确定在HospitalCreateAppointmentForm
中实例化用户对象的目的。但是,如果您确实需要,则必须在表单文件中导入用户模型。例如,如果HospitalCreateAppointmentFor
位于forms.py
,请导入用户模块,如
from django.contrib.auth.models import User
您可以访问以下字段:
User._meta.fields