В своей форме я хочу проверить, является ли имя дескриптора уникальным для этого проекта.
Models.py
class Descriptor (models.Model):
project = models.ForeignKey('Project', on_delete=models.CASCADE, default='1')
name = models.CharField(max_length=1000)
forms.py
class DescriptorForm(forms.ModelForm):
class Meta:
model = Descriptor
fields = ('name','project')
widgets = {'project': forms.HiddenInput()}
def clean_name(self):
name = self.cleaned_data['name']
project = self.fields['project']
if Descriptor.objects.filter(project=project, name__iexact=name).exists():
raise ValidationError("Descriptor with this name already exists")
return name
Я получаю
TypeError: int() argument must be a string, a bytes-like object or a number, not
'ModelChoiceField'
Без project = self.fields['project']
и project=project
Проверка работает, но для всех дескрипторов, а не только для тех, которые связаны с этим проектом.Что я должен изменить, чтобы сделать эту работу?