I'm trying to export Student, which has a OneToOne relationship with Django built-in User model. But when I export Students, the username column is empty in the exported file.
# models.py
class Student(models.Model):
user = models.OneToOneField(User, verbose_name=_('user'))
student_number = models.CharField(unique=True, null=False, max_length=10, verbose_name=_('student number'))
score = models.PositiveIntegerField(default=0, verbose_name=_('score'))
def __str__(self):
return self.user.get_full_name()
# admin.py
class StudentResource(resources.ModelResource):
username = fields.Field(column_name='username', attribute='User',
widget=widgets.ForeignKeyWidget(model=User, field='username'))
class Meta:
model = Student
fields = ('id', 'username', 'student_number', 'score',)
class StudentAdmin(ImportExportActionModelAdmin):
resource_class = StudentResource
admin.site.register(Student, StudentAdmin)
I get result when replace StudentResource class with this:
class StudentResource(resources.ModelResource):
class Meta:
model = Student
fields = ('id', 'user__username', 'student_number', 'score',)
but then I would have problem when importing data. Any idea?