我的模型:
class DirectoryDoctors (models.Model):
num = models.AutoField(primary_key=True)
name = models.CharField(max_length=100)
design_choices = (
('IMO', 'IMO'),
('AIMO', 'AIMO'),
('Dental Surgeon', 'Dental Surgeon'),
('Regional Deputy Director', 'Regional Deputy Director'),
('Joint Director', 'Joint Director'),
('Director', 'Director'),
('unspecified', 'Unspecified')
)
designation = models.CharField(
choices=design_choices, max_length=30, default='unspecified')
mobile = models.CharField(max_length=15, default='')
alternate = models.CharField(max_length=15, default='', blank=True)
email = models.CharField(max_length=50, default='', blank=True)
dob = models.DateField(null=True, blank=True)
specialiast_or_not_choices = (
('Yes', 'Yes'),
('No', 'No'),
('Unspecified', 'Unspecified')
)
specialiast = models.CharField(
choices=specialiast_or_not_choices, max_length=30, default='Unspecified')
specialty_choices = (
('Internal Medicine', 'Internal Medicine'),
('General Surgery', 'General Surgery'),
('ENT', 'ENT'),
('Ophthalmology', 'Ophthalmology'),
('Dermatology', 'Dermatology'),
('Paediatrics', 'Paediatrics'),
('Respiratory Medicine', 'Respiratory Medicine'),
('Psychiatry', 'Psychiatry'),
('Obstetrics and Gynaecology', 'Obstetrics and Gynaecology'),
('Physical Medicine', 'Physical Medicine'),
('Radiodiagnosis', 'Radiodiagnosis'),
('Anaesthesia', 'Anaesthesia'),
('Unspecified', 'Unspecified'),
('Not Applicable', 'Not Applicable')
)
specialty = models.CharField(
choices=specialty_choices, max_length=30, default='Unspecified')
institution = models.ForeignKey(DirectoryHospital, on_delete=models.DO_NOTHING)
bloodgroup_choices = (('apos', 'A+'),
('A-', 'A-'),
('B+', 'B+'),
('B-', 'B-'),
('O+', 'O+'),
('O-', 'O-'),
('AB+', 'AB+'),
('AB-', 'AB-'),
('-', '-')
)
bloodgroup = models.CharField(choices=bloodgroup_choices, max_length=15, blank=True)
spousename = models.CharField(max_length=100, blank=True)
children = models.CharField(max_length=200, blank=True)
present_address = models.CharField(max_length=200, blank=True)
permanent_address = models.CharField(max_length=200, blank=True)
class Meta:
unique_together = ["name", "mobile", "email"]
我的形式:
class DirectoryDoctorsForm(ModelForm):
class Meta:
model = DirectoryDoctors
fields = [
'name',
'designation',
'mobile',
'alternate',
'email',
'dob',
'specialiast',
'specialty',
'institution',
'bloodgroup',
'spousename',
'children',
'present_address',
'permanent_address'
]
unique_together = ["name", "mobile", "email"]
我的看法是:
@login_required
def editdoctorprofile(request, person_id):
person_id = int(person_id)
doc = DirectoryDoctors.objects.get(num = person_id)
msg =''
if request.method == 'POST':
print("POST details", request.POST)
form = DirectoryDoctorsForm(request.POST)
if form.is_valid():
print("Form is valid.")
username = request.POST.get('username')
else:
msg = "Invalid details."
print(msg)
else:
form = DirectoryDoctorsForm(instance=doc)
return render(
request, 'app/editdoctor.html', {
'rnd_num': randomnumber(),
'doc': doc,
'form': form
})
应用程序/editdoctor.html:
<form method="post">
{% csrf_token %}
<div class="row my-1">
<div class="col-md-2 mb-6">
<label for="name">Name</label>
</div>
<div class="col-md-18 mb-6">
{{ form.name|add_class:"form-control" }}
</div>
</div>
<div class="row my-1">
<div class="col-md-2 mb-6">
<label for="designation">Designation</label>
</div>
<div class="col-md-18 mb-6">
{{ form.designation|add_class:"form-control" }}
</div>
</div>
<div class="row my-1">
<div class="col-md-2 mb-6">
<label for="mobile">Mobile</label>
</div>
<div class="col-md-18 mb-6">
{{ form.mobile|add_class:"form-control" }}
</div>
</div>
<div class="row my-1">
<div class="col-md-2 mb-6">
<label for="designation">Alternate</label>
</div>
<div class="col-md-18 mb-6">
{{ form.alternate|add_class:"form-control" }}
</div>
</div>
<div class="row my-1">
<div class="col-md-5 mb-6">
<label for="specialiast">Are you a Specialiast?</label>
</div>
<div class="col-md-15 mb-6">
{{ form.specialiast|add_class:"form-control" }}
</div>
</div>
<div class="row my-1">
<div class="col-md-6 mb-6">
<label for="specialty">If yes, what is your Specialty?</label>
</div>
<div class="col-md-14 mb-6">
{{ form.specialty|add_class:"form-control" }}
</div>
</div>
<div class="row my-1">
<div class="col-md-2 mb-6">
<label for="institution">Station</label>
</div>
<div class="col-md-18 mb-6">
{{ form.institution|add_class:"form-control" }}
</div>
</div>
<div class="row my-1">
<div class="col-md-3 mb-6">
<label for="bloodgroup">Blood Group</label>
</div>
<div class="col-md-17 mb-6">
{{ form.bloodgroup|add_class:"form-control" }}
</div>
</div>
<div class="row my-1">
<div class="col-md-5 mb-6">
<label for="spousename">Name of your spouse</label>
</div>
<div class="col-md-15 mb-6">
{{ form.spousename|add_class:"form-control" }}
</div>
</div>
<div class="row my-1">
<div class="col-md-5 mb-6">
<label for="children">Name of your children</label>
</div>
<div class="col-md-15 mb-6">
{{ form.children|add_class:"form-control" }}
</div>
</div>
<div class="row my-1">
<div class="col-md-4 mb-6">
<label for="present_address">Present Address</label>
</div>
<div class="col-md-16 mb-6">
{{ form.present_address|add_class:"form-control" }}
</div>
</div>
<div class="row my-1">
<div class="col-md-4 mb-6">
<label for="permanent_address">Permanent Address</label>
</div>
<div class="col-md-16 mb-6">
{{ form.permanent_address|add_class:"form-control" }}
</div>
</div>
<div class="row">
<div class="col-md-4 mb-1">
<button class="btn btn-primary btn-block" id="add_doctor" type="submit">Save changes</button>
</div>
</div>
显示此页时,例如,对于pk为175的queryset get,单独的表单字段bloodgroup没有正确显示。它显示值“——”
但如果在姜戈壳上,我会:
>>> from app.models import DirectoryDoctors,DirectoryHospital
>>> DirectoryDoctors.objects.get(pk=175)
<DirectoryDoctors: Mike Dewey, Deputy Director, Deputy Directorate Angamaly, Angamaly>
>>> DirectoryDoctors.objects.get(pk=175).bloodgroup
'A+'
>>>
为什么仅此字段没有正确显示?