Я работаю с Django Framework. У меня есть две модели: Component и ComponentProperty.
class Component(models.Model):
name = models.CharField(unique=True, max_length=255)
component_properties = models.ManyToManyField(ComponentProperty)
class ComponentProperty(models.Model):
label = models.CharField(unique=True, max_length=255)
component_type = models.CharField(max_length=255)
И сериализаторы:
class ComponentSerializer(serializers.ModelSerializer):
class Meta:
model = Component
fields = ('name', 'component_properties')
depth = 1
class ComponentPropertySerializer(serializers.ModelSerializer):
class Meta:
model = ComponentProperty
fields = ('label', 'component_type')
Я пытаюсь загрузить данные с приборами. Я написал и файл приспособления, который выглядит так:
[
{
"pk":1,
"model":"api.componentproperty",
"fields":{
"label":"label",
"component_type":"text"
}
},
{
"pk":2,
"model":"api.componentproperty",
"fields":{
"label":"description",
"component_type":"text",
}
},
{
"pk":1,
"model":"api.component",
"fields":{
"name":"text",
"component_properties":[
1,
2
]
}
}
]
Это нормально! Но мне нужно загрузить 20 приборов. Я хочу, чтобы приспособление (например, component.json) выглядело следующим образом:
[
{
"pk":null,
"model":"api.component",
"fields":{
"name":"text",
"component_properties":[
{
"pk":null,
"model":"api.componentproperty",
"fields":{
"label":"label",
"component_type":"text"
}
},
{
"pk":null,
"model":"api.componentproperty",
"fields":{
"label":"description",
"component_type":"text",
}
}
]
}
}
]
Вишенкой на торте должны быть приспособления, указывающие первичный ключ, например здесь а>. Пожалуйста, кто-нибудь может помочь мне написать эти фикстуры без pk и отношений, описанных выше?
pk
или установите его наnull
? - person Jahongir Rahmonov   schedule 16.08.2017serializers.py
к вопросу? - person wencakisa   schedule 16.08.2017