встроенная админ модель django и родовые отношения - PullRequest
0 голосов
/ 14 сентября 2011

У меня есть встроенная административная модель с общим внешним ключом, и я хочу проверить набор ее свойств в методе моделей clean (). Если я добавляю новую модель, ни метод content_type, ни object_id не устанавливается в методе clean (), но если я, конечно, пытаюсь изменить существующую модель, я могу получить доступ к свойству content_type.

Есть ли обходной путь для получения content_type, когда я впервые добавляю новую модель?

Любой намек или URL приветствуется Спасибо хорошего дня! :)

Басти

1 Ответ

0 голосов
/ 14 сентября 2011

Если я вас понимаю, должно сработать что-то вроде следующего:

class MyModelForm(forms.ModelForm):
    class Meta:
        model = MyModel

    def clean(self):
        content_type = self.cleaned_data.get('content_type')
        object_id = self.cleaned_data.get('object_id')

        if content_type and object_id:
            obj = content_type.get_object_for_this_type(pk=object_id)
            # Check whatever on the object here, and if there's a problem:
            # raise forms.ValidationError('Something is not right')

        return self.cleaned_data
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...