首页 > 解决方案 > 在 django 中访问超类方法

问题描述

我有以下模型,一个用户

class User(AbstractBaseUser, PermissionsMixin, Base):
    email = models.EmailField(db_index=True, unique=True, max_length=255)
    mobile = PhoneNumberField(null=True)
    username = models.CharField(db_index=True, null=False, unique=True, max_length=255)

一个基类

class Room(Base):
    name = models.CharField(db_index=True, unique=True, max_length=255)
    status = models.CharField(default=RoomStatus.ACTIVE, max_length=256, null=True)
    members = models.ManyToManyField(User)
    last_activity = models.DateTimeField(default=timezone.now)

还有两个孩子

class LeagueRoom(Room):
    league = models.ForeignKey(League, on_delete=models.CASCADE, null=True)
    location = models.ForeignKey(Location, on_delete=models.CASCADE, null=True)

class ClubRoom(Room):
    club = models.ForeignKey(Club, on_delete=models.CASCADE, null=True)
    location = models.ForeignKey(Location, on_delete=models.CASCADE, null=True)

我想为leagueroom_set用户访问。我不知道该怎么做。用户当前有一个属性room_set,但我希望访问特定的 room_set。有人可以帮我弄这个吗?

标签: pythondjangodjango-models

解决方案


你可以从另一端开始:

league_rooms = LeagueRoom.objects.filter(members=my_user)

推荐阅读