Как проверить / очистить () уникальное = True поле без использования ModelForm?

В пользовательской форме, как проверить модельполе 'с уникальностью (то есть, имеетunique=True задавать)?

Я знаю, что ДжангоModelForm автоматически выполняетvalidate_unique() функция, которая вызывается в BaseModelFormclean() метод - так, при использовании ModelForm, это будет обрабатываться правильно (как в Admin).

Тем не менее, я создаю свою собственную форму с нуля и удивляюсь, как я могу справиться с этим самостоятельно? Я думаю, что мой самый большой камень преткновения - это знание, какой объект прикреплен к форме при очистке данных ...

Некоторый код:

class UserProfile(CreatedModifiedModel):
    user            = models.ForeignKey(User, unique=True)
    display_name    = models.CharField('Display Name',max_length=30,
                        blank=True,unique=True)

class EditUserProfileForm(forms.Form):
    display_name    = forms.CharField(required=False,max_length=30)

    # "notifications" are created from a different model, not the UserProfile
    notifications    = forms.MultipleChoiceField(
                        label="Email Notifications",
                        required=False,
                        widget=forms.CheckboxSelectMultiple,)

    def clean_display_name(self):
        # how do I run my own validate_unique() on this form?
        # how do I know which UserProfile object I am working with?

    # more code follows, including the __init__ which sets up the notifications

Ответы на вопрос(2)

Ваш ответ на вопрос