【发布时间】:2021-03-28 12:16:04
【问题描述】:
我正在构建一个诊所管理系统
在添加新医生的部分,我希望管理员能够添加医生可用的天数,这意味着天数字段是一个列表,但 Django 中没有列表字段模型,所以我创建了 CharField-> days
days = models.CharField(max_length=200,null=True)
然后我在表单中创建了一个多选输入字段
<select name="days" class="form-select" multiple aria-label="multiple select example">
<option value="mon">Mon</option>
<option value="sun">sun</option>
<option value="wed">wed</option>
<option value="etc">etc</option>
</select>
所以我使用此代码获取了选定的数据
for i in request.POST.getlist("days"):
d= str(i)+" "+d
print(d) # result gonna be the days in string value splited by spaces eg : mon sun wed
所以我以后可以使用 split() 来使用它,但问题是我无法在提交时将此数据添加到表单中,所以我认为我可以保存表单数据然后更改字段天数 像这样
def add_doctor(request):
form = Add_doctorForm()
if request.method == "POST":
form = Add_doctorForm(request.POST)
if form.is_valid():
form.save()
d = ""
for i in request.POST.getlist("days"):
d= str(i)+' '+d
print(d)
formdata = Doctors.objects.get(id = request.POST.get("id")
formdata.days = d
但问题是 request.POST 不包含任何关于 id 的数据因为 id 从数据库中获取它的值,所以 post 请求不知道 id 那么谁能帮我找到另一种方法来解决这个问题?
【问题讨论】:
标签: python django django-models django-views django-forms