私はdjango import-exportライブラリをデータに使用しています。外部キーにまだ存在しないオブジェクトをインポートできないことを除けば、うまく機能します。
オブジェクト (csv の値) が外部キー モデルに存在する場合、正常にインポートされます。
ただし、オブジェクト/値が外部キー モデルに存在しない場合、「一致するクエリが存在しません」と表示され、データはインポートされません。
外部キーに存在しない場合、外部キーモデルに新しいオブジェクトを追加するように指示するにはどうすればよいですか?
Models.py スニペット
class Store(models.Model):
store_name = models.CharField(max_length=30)
def __unicode__(self):
return self.store_name
#etc
class Product(models.Model):
Store = models.ForeignKey(Store)
Category = models.ForeignKey(Category)
first_name = models.CharField(max_length=30)
second_name = models.CharField(max_length=30)
...
Admin.py スニペット
admin.site.register(Category)
admin.site.register(Store)
class ProductResource(resources.ModelResource):
store_name = fields.Field(column_name='store_name', attribute='Store',
widget=ForeignKeyWidget(Store, 'store_name'))
def __unicode__(self):
return self.store_name.name
class Meta:
model = Product
fields = ('id', 'first_name', 'second_name','store_name')
export_order = ('id', 'second_name', 'first_name')
skip_unchanged = False
report_skipped = False
widgets = {
'published': {'format': '%d.%m.%Y'},
}
class ProductAdmin(ImportExportModelAdmin):
resource_class = ProductResource
list_display = ('first_name', 'second_name')
admin.site.register(Product, ProductAdmin)