我试图在django中编写一个视图,检查客户端是否存在,然后它什么也不做。如果它不存在,那么我创建它
这是ModelForm的外观:
class FacebookLoginForm(ModelForm):
class Meta:
model = Client
fields = ['facebook_id', 'first_name', 'last_name', 'email']
这是我的代码:
def facebook_login(request):
data = json.loads(request.body)
form = FacebookLoginForm(data)
if form.is_valid():
# do something
pass
然而,由于某种原因,当我在表单上调用is_valid
时,它会检查传递的数据在数据库中是否不存在(其中模型字段是唯一的)。我如何设置ModelForm以只验证数据而不检查数据是否已经存在?我的最终目标是验证表单的输入,然后更新/创建数据库
如果您想继续使用
ModelForm
,可以重写validate_unique
方法,如下所示:然而,仅仅创建一个常规表单可能会更好,因为它可以很好地满足您的目的。在这种情况下,重写
validate_unique
函数并不是更干净的代码编辑: 更好的解决方案是重写clean方法而不调用}方法中的源代码:
super
。从BaseModelForm
{这就是表单的实际外观:
相关问题 更多 >
编程相关推荐