【发布时间】:2010-09-27 13:27:16
【问题描述】:
我的模型中有这样的东西:
class Artykul(models.Model):
id = models.AutoField(max_length = 5, primary_key = True)
tytul = models.CharField(max_length = 255)
kategoria = models.ManyToManyField(Title, limit_choices_to = choices_limit)
dodano = models.DateField(auto_now_add = True)
autor = models.CharField(max_length = 255)
glowny_obrazek = models.ImageField(blank = True, upload_to="uploads/artykul_main_img")
tresc = PlaceholderField('tresc')
def show_categories(self):
return ', '.join( self.kategoria.values_list('title', flat=True) )
def prepare_choices_limit(self):
return {'page__level__exact': 1}
def __unicode__(self):
return self.tytul
如您所见,我的 ManyToManyField 中有 varchoices_limit。我想让它动态化,以允许某些用户根据他们的权限拥有不同的选项。我可以通过函数 prepare_choices_limit() 来完成。问题是:如果整个想法是好的,如果不是,如何以不同的方式实现这种效果?或者,如果它很好,每次用户登录到管理面板时我怎么能调用这个函数。我不希望每次调用模型时都调用它,因为我不需要为站点的普通用户进行权限检查,只为管理员进行。
提前致谢 米哈乌
【问题讨论】:
标签: django django-models django-admin