gpt4 book ai didi

python - Django ModelForm IntegrityError

转载 作者:行者123 更新时间:2023-11-28 23:00:33 25 4
gpt4 key购买 nike

我在提交 ModelForm 时遇到问题。

基本上,我的一个属性被排除在外,当我们创建表单时,我正在扩充 request.POST 对象以包含它(这样 ORM 可以毫无问题地保存它)。根据我的理解(再一次,我是 django 的新手),这就是它的工作原理。

我在调用 form.save() 时收到 IntegrityError。

我正在使用的代码在这里:http://dpaste.com/783425/ .

编辑:为后代粘贴下面的代码。

# forms.py
class CreateNewItemForm(ModelForm):
class Meta:
model = X.models.Y
exclude = ('person',)

# views.py
def myview(request, person_id):
if request.method == "POST":
data = request.POST.copy()
data['person'] = Person.objects.get(id=person_id)
# NOTE: I've also tried: data['person'] = person_id

form = CreateNewItemForm(data)

if form.is_valid():
form.save() # throws the IntegrityError

最佳答案

我认为这段代码是错误的...为此更改您的代码...

def myview(request, person_id):
data = None
if request.method == "POST":
data = request.POST
form = CreateNewItemForm(data)
if form.is_valid():
newitem = form.save(commit=False)
newitem.person = Person.objects.get(id=person_id)
newitem.save()

关于python - Django ModelForm IntegrityError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11872976/

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