我正在使用feincms中的内容类型。我想创建一个可以在数据库中存储过滤器的内容类型。 粗略地看起来像这样:
from news.models import Entry
class NewsContent(models.Model):
filter = models.CharField()
exclude = models.CharField()
offset = models.IntegerField()
limit = models.IntegerField()
#template = models.CharField()
def get_entries(self):
return Entry.objects.filter(self.filter).exclude(self.exclude)[self.offset:self.limit_upper]
这可能吗?
现在这可能是一个好主意,也可能不是一个好主意,但问题是#2
答案 0 :(得分:2)
您应该能够使用字典进行过滤和排除字段。
假设您要添加此过滤器:
...filter(one='asdf', two='xyz')
然后你会存储
"{'one':'asdf', 'two':'xyz'}"
作为NewsContentModel的过滤器字段中的字符串。
然后你可以这样做
def get_entries(self):
return Entry.objects.filter(**eval(self.filter))
我认为应该有用......