gpt4 book ai didi

python - 当我更新模型的字段时,所有其他字段都会被删除

转载 作者:太空宇宙 更新时间:2023-11-03 14:32:00 24 4
gpt4 key购买 nike

如果我更新 f1,f2 就会被删除,如果更新 f2,f1 就会被删除...我如何不断改变未改变的字段?

抱歉我的英语很糟糕

View .py

def edit_iscrizioni(request, corso_id):
corsi = Corso.objects.filter( pk=corso_id)
fasca = Corso.objects.get( pk=corso_id)
tabella= Iscrizione.objects.filter(user=request.user)
iscrizione=get_object_or_404(Iscrizione, pk=tabella)

if request.method == "POST":
form = IscrizioneForm(request.POST, instance= iscrizione)
if form.is_valid():
iscrizione = form.save(commit=False)
iscrizione.user = request.user
iscrizione.published_date = timezone.now()
if fasca.progressivo:
if fasca.f1:
iscrizione.corso1_id= corso_id
if fasca.f2:
iscrizione.corso2_id= corso_id

form.save()


return redirect('privata')

else:
form = IscrizioneForm(instance= iscrizione)
return render(request, 'corsi/edit.html', {'form':form, 'corsi':corsi})

模型.py

class Corso(models.Model):
titolo = models.CharField(max_length=100)
progressivo= models.BooleanField(default=False)
f1= models.BooleanField(default=False)
f2= models.BooleanField(default=False)


class Iscrizione(models.Model):
user = models.ForeignKey('auth.User')
corso1= models.ForeignKey('Corso', blank=True, null=True, related_name="corso1")
corso2= models.ForeignKey('Corso', blank=True, null=True, related_name="corso2")

最佳答案

您已在此处创建了一个对象:

iscrizione = form.save(commit=False)

并且您应该将其保存到数据库中 - 使用

iscrizione.save()

而不是

form.save()

编辑好吧,我认为这里也有问题:

tabella= Iscrizione.objects.filter(user=request.user)
iscrizione=get_object_or_404(Iscrizione, pk=tabella)

tabella - 是一个查询集(Iscrizione 对象列表),我认为您无法获得 pk (主键)等于查询集的对象。

编辑

并尝试

        if fasca.progressivo:
if fasca.f1:
iscrizione.corso1 = fasca
if fasca.f2:
iscrizione.corso2 = fasca

关于python - 当我更新模型的字段时,所有其他字段都会被删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47211920/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com