我有两个标签(配料步骤和配料),如您所见:
模型.Py
class Ingredient_Step(models.Model):
ingredient = models.ForeignKey(Ingredient)
Step = models.ForeignKey(Step)
def __unicode__(self):
return u'{}'.format(self.Step)
class Ingredient(models.Model):
IngredientName = models.CharField(max_length=200,unique=True)
Picture = models.ImageField(upload_to='Ingredient')
def __unicode__(self):
return u'{}'.format(self.IngredientName)
在一个函数中,我需要从一个查询中序列化一个JSON对象,该查询从“component\u step”返回,但我需要发送来自“component”表的字段“IngredientName”。 我尝试使用“配料名称”,但失败了
视图.Py:
def IngredientByStep(request):
if request.is_ajax() and request.GET and 'id_Step' in request.GET:
if request.GET["id_Step"] != '':
IngStp = Ingredient_Step.objects.filter(Step =request.GET["id_Step"])
return JSONResponse(serializers.serialize('json', IngStp, fields=('pk','ingredient__IngredientName')))
如何从关系中调用扩展字段
谢谢
Django的这个“特性”(以及许多ORM,如SQLAlchemy)被称为延迟加载,这意味着只有在您特别要求的情况下才从相关模型加载数据。在这种情况下,将IngStp构建为结果列表,并确保在序列化之前访问每个结果的属性
下面是一个如何做到这一点的例子:Django: Include related models in JSON string?
相关问题 更多 >
编程相关推荐