我有一个用户和事件模型
class User(AbstractUser):
bio = models.CharField(max_length=255, blank=False, default='')
class Event(models.Model):
name = models.CharField(max_length=50)
user = models.ManyToManyField("User", related_name='event_player')
我想知道在活动中注册的用户数量,我试过了
试试1
class EventSerializer(serializers.ModelSerializer):
players_count = serializers.IntegerField(
source='user_set.count',
read_only=True
)
class Meta:
model = Event
fields = ('id', 'name','players_count')
试试2
class EventSerializer(serializers.ModelSerializer):
players_count = serializers.SerializerMethodField()
class Meta:
model = Event
fields = ('id', 'name','players_count')
def get_players_count(self, obj):
return obj.user_set.all().count()
试试3
class EventSerializer(serializers.ModelSerializer):
def to_representation(self, instance):
return {'id': instance.pk, 'players_count': instance.user__count}
class Meta:
model = Event
fields = ('id', 'name','players_count')
但是这些都没有意义,我如何得到嵌套的manytoman用户的总数呢。我是DRF新手,请帮我解决这个问题。
谢谢你的帮助
Try 2应该在没有
_set
的情况下工作 有关更多信息,请参见Django ManyToMany Docs相关问题 更多 >
编程相关推荐