Как сохранить вызываемый в модели Django? - PullRequest
0 голосов
/ 13 марта 2012

У меня есть модель Django, которую я должен держать вызываемой (в данном случае это ссылка на другую модель), чтобы сохранить ее вместе с некоторыми «условиями», которые впоследствии должны быть применены к модели.

Мой подход был таким:

MODEL_CHOICES = (
     (django.contrib.auth.models.User, 'User'),
     [some more]
     )
class Model:
     chosen_model = models.IntegerField(choices=MODEL_CHOICES)
     conditions = models.TextField()

Условия будут выглядеть примерно так:

{'status': 1, [some other]}

Но, очевидно,

django.contrib.auth.models.User
не является допустимым целым числом.

Я пытаюсь добиться следующего: Позвоните

chosen_model.objects.filter(**conditions)

в представлении. Это вообще возможно? Если да, какое поле мне нужно для хранения ссылки на модель?

Большое спасибо!

Ответы [ 2 ]

2 голосов
/ 13 марта 2012

Я бы предложил вам использовать здесь модель ContentType .

from django.contrib.contenttypes.models import ContentType

class YourModel:
     chosen_model = models.ForeignKey(ContentType)
     conditions = models.TextField()
2 голосов
/ 13 марта 2012

выглядит так, как будто вам нужен внешний ключ для тип содержимого

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