我想通过API调用显示Trader类的内容。但我不知道我错在哪里了。
型号.py
class Trader(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE, related_name="trader")
bot_status = models.BooleanField(blank=False, default=False)
active_group = models.ManyToManyField(Entry, blank=True, related_name="active_group")
def __str__(self):
return f'{self.user.username}'
def __repr__(self):
return f'Trader=(bot_status={self.bot_status}, active_group={self.active_group})'
serializers.py
class BotStatusSerializer(serializers.ModelSerializer):
user = serializers.ReadOnlyField(source = 'user.username')
class Meta:
model = Trader
read_only_fields = ('bot_status', )
views.py
class BotStatusView(viewsets.ModelViewSet):
serializer_class = BotStatusSerializer
def get_queryset(self):
return self.request.user.trader.bot_status
当我提出请求时,我会收到以下错误。
错误:
return [
TypeError: 'bool' object is not iterable
您从get_queryset
返回bot_status
,这是一个布尔值,需要返回一个QuerySet。
def get_queryset(self):
return Trader.objects.filter(trader=self.request.user)