Я хотел бы импортировать на моем сервере django 'A' некоторые объекты с другого сервера django 'B'.
Для этого на сервере 'B' я делаю: python manage.py dumpdata -format = xml
Затем я получаю нужную часть xml, и на сервере 'A' я пытаюсь десериализовать один объект: Вот что я сделал в оболочке python:
data="""<object pk="69" model="inventory.cinodeserver">
<field type="CharField" name="server_name">rfrsmh81</field>
<field type="CharField" name="server_type">Sun Fire V440</field>
<field type="CharField" name="server_serial">0449AL2A3A</field>
<field type="CharField" name="server_os">SunOS 5.8 HW 2/04</field>
<field type="CharField" name="server_fw">4.18.10</field>
</object>
"""
l=list(serializers.deserialize("xml", data))
o=l[0]
print o
<DeserializedObject: inventory.CINodeServer(pk=69)>
Проблема в том, что у меня уже есть другой объект с pk = 69, я просто хочу вставить импортированный объект в конец таблицы Mysql.
Итак, я попробовал это:
o.object.pk=None
o.save()
И я получил:
IntegrityError: (1048, "Column 'cinodecompany_ptr_id' cannot be null")
Note, the model is :
class CINodeServer(CINodeCompany):
class Meta:
app_label = 'inventory'
server_name = models.CharField(max_length=64,blank=True)
server_type = models.CharField(max_length=64,blank=True)
server_serial = models.CharField(max_length=64,blank=True)
server_os = models.CharField(max_length=30,blank=True)
server_fw = models.CharField(max_length=20,blank=True)
Так, как я могу добавить импортированный объект в конец моей таблицы SQL?