Я работаю с собственным методом, чтобы увидеть, есть ли в какой-либо другой таблице поле с той же строкой. Все это прекрасно, пока я его создаю, но когда я пытаюсь его отредактировать, он находит «сам» и возвращает ошибку. я теперь интересно, как я могу исключить сам экземпляр в моем чистом методеdjango exclude self from queryset для проверки
def clean_name(self):
raw_data = self.cleaned_data['name']
data = raw_data.title()
if Country.objects.filter(name=data).exists():
raise forms.ValidationError(("There is already a country with the name: %s") % data)
if Province.objects.filter(name=data).exists():
raise forms.ValidationError(("There is already a province with the name: %s") % data)
if Region.objects.filter(name=data).exists():
raise forms.ValidationError(("There is already a region with the name: %s") % data)
return data
я знаю, что есть .exclude(), но нуждается в переменном передаются вместе с ним, не знаю, как я мог бы получить что вместе с моим чистым методом
Эй, не понимаю, почему вы проверяете 3 разных класса моделей, а не только тот, где конфликт с одним и тем же именем. Обычно вы исключаете идентификатор существующего объекта, но в этом случае мы говорим об этом сущности? Это «страна», «провинция» или «регион»? –
Это похоже на странное требование, но оно может быть совершенно справедливым в контексте всего приложения, о котором мы ничего не знаем. –
Я не хочу, чтобы название страны/региона/региона было одним и тем же вопросом стиля, а все 3 - разные таблицы. не знаю, как это сделать тогда, как это –