gpt4 book ai didi

python - 如何覆盖 modelform 类的 save() 方法并添加缺失信息?

转载 作者:行者123 更新时间:2023-11-28 17:53:49 25 4
gpt4 key购买 nike

我刚开始学习 Django,我有一个问题。

我试图在保存表单数据时自动添加缺失的信息。我通过覆盖 modelform 类的 save() 方法来更改/添加所需的“cleaned_data”信息,但更改未记录在数据库中。其实修改后的信息怎么写呢?这是代码:

def save(self, commit = True, *args, **kwargs):
temp = ServiceMethods(url = self.cleaned_data.get('url'), wsdl_url = self.cleaned_data.get('wsdl_url'))

if not temp.get_wsdl_url():
temp.make_wsdl_url()

if temp.get_wsdl_url():
temp.make_wsdl()
self.cleaned_data['wsdl_url'] = temp.get_wsdl_url()
self.cleaned_data['wsdl_description'] = temp.get_wsdl_description()

super(ServiceForm, self).save(commit = commit, *args, **kwargs)

和模型:

class Services(models.Model):
name = models.CharField('Имя', max_length=256)
url = models.URLField('Ссылка', unique = True)
wsdl_url = models.URLField('Ссылка на WSDL-документ', blank=True)
description = models.TextField('Описание сервиса',blank=True)
wsdl_description = models.TextField('WSDL описание', blank=True, editable=False)
added = models.DateTimeField('Добавлено', auto_now_add=True)

TIA

最佳答案

尝试在 self.instance 上而不是在 self.cleaned_data 上设置数据,如果可行请告诉我。

关于python - 如何覆盖 modelform 类的 save() 方法并添加缺失信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4493822/

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