我想要完成的事情:
管理员正在登录以查看其群组中的所有成员。 我得到的回报是来自其他组的所有成员,我不想要。 我只希望管理员看到他小组中的成员。
我没有得到我想要的过滤器。
在这里搜索解决方案,没有运气,仍然是新手,所以感谢您的帮助!
管理员\ models.py
class Administrator(AbstractUser):
...
asoc_name = models.CharField(max_length=100)
class Meta:
db_table = 'Administrator'
构件\ models.py
from pl.admin.models import Administrator
class Member(models.Model):
member_no = models.AutoField(primary_key=True)
asoc_name = models.CharField(max_length=50)
...
class Meta:
db_table = 'Member'
class Association(models.Model):
asocnumber = models.AutoField(primary_key=True)
asoc_name = models.CharField(max_length=50, null=True, blank=True)
class Meta:
db_table = 'Association'
class member_asoc(models.Model):
asocnumber = models.OneToOneField(Association)
member_no = models.OneToOneField(Member)
user = models.OneToOneField(Administrator)
class Meta:
db_table = 'member_asoc'
Views.py
class member_overview(ListView):
model = Member
template_name = 'member/member_overview.html'
def get_queryset(self, *args, **kwargs):
user = self.request.user
return Member.objects.filter(asoc_name=user)
如果您需要更多信息,请与我们联系。
答案 0 :(得分:0)
您需要为Administrator创建一个模型,并为其提供OneToOneField。然后,您需要创建一个Member模型并为其提供一个ForeignKey,将其与Association关联。
然后你应该能够做到:
Member.objects.filter(association=self.request.user.administrator.association)
这假设您的User对象使用OneToOneField
链接到Administrator