0

我有一个 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)

在一个视图中。这甚至可能吗?如果是,我需要什么样的字段来存储对模型的引用?

非常感谢你!

4

2 回答 2

2

看起来您可能需要内容类型的外键

于 2012-03-13T16:03:31.050 回答
2

我建议你在这里使用ContentType模型。

from django.contrib.contenttypes.models import ContentType

class YourModel:
     chosen_model = models.ForeignKey(ContentType)
     conditions = models.TextField()
于 2012-03-13T16:04:28.363 回答