Umgang mit dem Import von ForeignKeys in Django-Import-Export

Ich verstehe nicht, wie das Django-Import-Export-Modul mit ForeignKeys umgeht. Hier ist ein einfaches Beispiel: models.py

class TFamilies(models.Model):
    id_fam = models.AutoField(primary_key=True, unique=True)
    name_fam = models.CharField(max_length=1024, blank=True,verbose_name='Famille')


class TGenus(models.Model):
    id_genus = models.AutoField(primary_key=True, unique=True)
    name_genus = models.CharField(max_length=1024,verbose_name='nom de genre')
    id_fam = models.ForeignKey(TFamilies, null=True, db_column='id_fam', blank=True, verbose_name='Famille')

Ich möchte Leuten das Hinzufügen von Gattungen mit der Familie ermöglichen! Ein CSV / XLS mit nur name_genus und name_fam ... (und der ID leer gelassen).

Familie existiert bereits in der DB die meiste Zeit, Django muss die richtige ID-Nummer finden ...

admin.py

class TGenusResource(resources.ModelResource):

    name_fam = fields.Field(widget=widgets.ForeignKeyWidget(TFamilies, 'name_fam'))

    class Meta:
        model = TGenus
        import_id_fields = ['id_genus']


class TGenusAdmin(ImportExportActionModelAdmin):
    form = TGenusAdminForm
    resource_class = TGenusResource
    pass

Diese Konfiguration hat zu einem Fehler in der Importschnittstelle geführt:

Line number: 1 - 'NoneType' object has no attribute 'name_fam'
Traceback (most recent call last):
File "/....../lib/python2.7/site-packages/import_export/resources.py", line 348, in import_data
row_result.object_repr = force_text(instance)
File "......./lib/python2.7/site-packages/django/utils/encoding.py", line 85, in force_text
s = six.text_type(s)
AttributeError: 'NoneType' object has no attribute 'name_fam'

Ich verstehe nicht ... Ich habe auch versucht, dort zu antworten: Django-Import-Export-Ressourcendefinition für Fremdschlüsselfeld? und so ähnlich wie dort:Foreign Key in der Django-Migration mit Django-Import-Export

Muss ich @ verwend before_import um mich das Spiel zu finden?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage