【发布时间】:2019-02-09 11:14:40
【问题描述】:
这是问题产品有多种尺寸,这是多对多的关系
产品
|-------|---------|
| ID | Title |
|-------|---------|
尺寸
|-------|---------|
| ID | Title |
|-------|---------|
大小通过
|------|--------------|-----------|---------|
| ID | Product ID | Size ID | Stock |
|------|--------------|-----------|---------|
我设法使用 Django Rest Framework 在我的产品 api 中获取尺寸,但我也不知道如何获取库存信息。 这是我的代码
class SizeSerializer(serializers.ModelSerializer):
class Meta:
fields = (
'id',
'title',
)
model = Size
class ProductsSerializer(serializers.ModelSerializer):
sizes = SizeSerializer(many=True)
class Meta:
fields = (
'url',
'id',
'title',
"sizes",
)
model = Products
如果能在这个问题上提供任何帮助,我将不胜感激
模型
class Products(models.Model):
title = models.CharField(max_length=125)
sizes = models.ManyToManyField(Size, blank=True, through='SizeThrough')
class Meta:
verbose_name_plural = 'Products'
verbose_name = 'Product'
def __str__(self):
return self.title
class SizeThrough(models.Model):
size = models.ForeignKey(Size, on_delete=models.CASCADE)
product = models.ForeignKey(Products, on_delete=models.CASCADE)
stock = models.BooleanField(null=False, default=1)
class Size(models.Model):
title = models.CharField(max_length=20)
def __str__(self):
return self.title
【问题讨论】:
-
可以添加相关型号吗?
-
@JPG 刚刚添加了模型
-
@Hayden 我已经经历了很多次我只发现 "ManyToManyFields with a Through Model" 这是最后一节,但我没有提供更多信息。
标签: django django-models django-rest-framework many-to-many