******* Models *******
class Category(models.Model):
category_id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
name = models.CharField(max_length=50)
parent_id = models.ForeignKey('self', on_delete=models.SET_NULL, null=True, blank=True)
notes = models.CharField(max_length=200)
def __str__(self):
return '{0}, parent: {1}'.format(self.name, self.parent_id)
class Game(models.Model):
name = models.CharField(max_length=50)
category_id = models.ForeignKey(Category, on_delete=models.CASCADE)
start_time = models.DateTimeField('Start Time', null=True, blank=True)
end_time = models.DateTimeField('End Time', null=True, blank=True)
opponent1 = models.CharField(max_length=200, null=True, blank=True)
opponent2 = models.CharField(max_length=200, null=True, blank=True)
description = models.CharField(max_length=200)
status_id = models.ForeignKey(Status, on_delete=models.CASCADE)
def __str__(self):
return '{0}: {1}'.format(self.name, self.category_id)
def get_absolute_url(self):
return reverse('game-detail', args=[str(self.id)])
******* Serializer ********
class CategorySerializer(serializers.ModelSerializer):
class Meta:
model = Category
fields = '__all__'
class GameSerializer(serializers.ModelSerializer):
category_id = CategorySerializer(read_only=True)
class Meta:
model = Game
fields = '__all__'
我正在编写一个API,以从API返回的所有游戏的category_id中获取parent_Id。但是当我返回所有游戏时,它不会显示parent_Id的值。
我还尝试将一个子类别添加到CategorySerializer,但是它仍然不起作用
class SubCategorySerializer(serializers.ModelSerializer):
class Meta:
model = Category
fields = '__all__'
class CategorySerializer(serializers.ModelSerializer):
subcategories = SubCategorySerializer(read_only=True)
class Meta:
model = Category
fields = '__all__'
有人可以帮助我修复它吗?预先感谢。