Итак, у меня есть класс Item, который имеет атрибут «многие ко многим» для пользователя через класс «Роли». Я пытаюсь создать таблицу django для элементов, чтобы из любой из ролей, прикрепленных к элементу, если текущий пользователь прикреплен к этой роли, отображалось имя роли. Я надеюсь, что это имеет какой-то смысл. Вот что у меня есть до сих пор, и я не ожидал, что это сработает, потому что я не понимаю, как класс Table может знать о запросе/пользователе. Я застрял.
модели.py
class Item(models.Model):
name = models.CharField(max_length=255)
owner = models.ForeignKey(User, related_name='Owner')
roles = models.ManyToManyField(User, through='Role')
class Role(models.Model):
role_type = models.ForeignKey(RoleType)
user = models.ForeignKey(User)
item = models.ForeignKey(Item)
таблицы.py
class OwnedTable(tables.Table):
roles = tables.Column()
user = request.user
def render_roles(self):
for role in roles:
if role.User == user:
return role.role_type
else:
pass
class Meta:
model = Item
attrs = {"class": "paleblue"}
fields = ('id', 'name', 'owner', 'roles')