BooleanField in ModelSerializer



我想通过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)

最新更新