OK、それで、'Roles' クラスを介して User に多対多の属性を持つ Item クラスがあります。現在のユーザーがそのロールにアタッチされている場合、アイテムにアタッチされているロールのうち、ロールの名前が表示されるように、アイテムのdjangoテーブルを作成しようとしています。それが何らかの意味を成すことを願っています。ここに私がこれまでに持っているものがありますが、テーブルクラスがリクエスト/ユーザーについてどのように知ることができるかがわからないため、実際にはうまくいくとは思っていませんでした。私は立ち往生しています。
models.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')