大家好,请教大家一个问题,
我在model中定义有这样定义
class Equipment(models.Model):
pid = models.CharField(max_length=32, blank=False, verbose_name=_(u'PID'))
type = models.ForeignKey(EquipmentType, blank=False, verbose_name=_(u'设备类型'))
area = models.ManyToManyField(Area, blank=False, verbose_name=_(u'设备区域'))
mac = models.CharField(max_length=32, blank=False, verbose_name=_(u'MAC'))
class Meta:
verbose_name = _(u'设备信息')
verbose_name_plural = verbose_name
def __unicode__(self):
return _(u'设备:%(pid)s') % {'pid':self.pid}
这样我在使用admin中添加数据的时候,会将Area中的数据列出来,供我选择,但现在的情况是,我需要根据用户的权限,去判断,只显示Area中的部分数据。我理解的admin.py中添加queryset(如下面程序),是用来筛选整个 Equipment的,
def queryset(self):
qs = super(UserAreaPermissionAdmin,self).queryset()
if self.request.user.is_superuser:
return qs
else:
return qs.filter(user = self.request.user)
但我现在需要的是admin界面中添加Equipment的时候,界面中提供的area选项,是我筛选过的,不知道在哪里设置,请大家指教,谢谢!