有没有办法确定数据库中是否存在对象。如果是,则返回“对象已存在”。否则,将创建一个新对象。
答案 0 :(得分:0)
如何使用get_or_create
方法?通过这种方式,您还可以看到对象是否是新创建的。如果没有,则返回您的"对象已存在"。
您应该在视图中覆盖post(request, *args, **kwargs)
方法时执行此操作。
答案 1 :(得分:0)
因此,我实施的解决方案必须转到ModelForm
:
class LabelForm(forms.ModelForm):
class Meta:
model = Label
fields = ('name',)
def clean(self):
try:
Label.objects.get(name=self.cleaned_data['name'].lower())
raise forms.ValidationError('Label exists!')
except Label.DoesNotExist:
pass
return self.cleaned_data