gpt4 book ai didi

python - 在 google appengine 上使用 django 使用数据初始化表单

转载 作者:行者123 更新时间:2023-11-28 23:05:35 26 4
gpt4 key购买 nike

我有一个使用“来自 google.appengine.ext.db.djangoforms.ModelForm”的后期处理程序。它从数据库中提取现有实例,然后通过以下方式初始化表单:

  myForm = TestForm(instance=self_instance, data=post_data)

我只将三个属性中的一个放在 post_data 中,它被正确地复制到表单中,但是其他两个已经在“self_instance”中具有值的属性被设置为 None。这可以避免吗?

谢谢,理查德

最佳答案

这给了我想要的行为:

if self_instance:
logging.info('creating form with instance so updating the post data, we need this to bind the form so we can validate it')
if post_data:
#update the post data with existing values
for prop in self_instance._properties:
if prop not in post_data:
cur_prop_val = getattr(self_instance, prop)
if isinstance(cur_prop_val,db.Model):
str(cur_prop_val.key())
else:
post_data[prop] = cur_prop_val
else:
logging.info('no post data so not adding it to form')
form_data = form_class(data=post_data,instance=self_instance)
else:
logging.info('creating form without instance')
form_data = form_class(data=post_data)

关于python - 在 google appengine 上使用 django 使用数据初始化表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5894989/

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