Обезличить одно и то же поле django
У меня есть модель Student:
class Student(models.Model):
id = models.AutoField(primary_key=True)
name = models.CharField(max_length=30, verbose_name='Name')
lastname = models.CharField(max_length=100, verbose_name='Lastname')
history = HistoricalRecords()
Также у меня есть модель:
class Class(models.Model):
id = models.AutoField(primary_key=True)
student = models.models.ForeignKey(Student,on_delete = models.CASCADE, related_name='+')
my admin.py
class ClassResource(resources.ModelResource):
class Meta:
model = Class
fields = ('student',)
def dehydrate_student(self, Class):
student= getattr(Class.student, "name")
return '%s' % (student)
class ClassExportAdmin(ImportExportModelAdmin, ClassAdmin):
resource_class = ClassResource
admin.site.register(Class, ClassExportAdmin)
Сейчас я выполняю только name, можно ли еще раз обезличить то же поле student. Мне нужно вставить в мою 2 колонку фамилию студента.
Если я правильно понимаю, вы должны быть в состоянии достичь этого следующим образом:
class ClassResource(resources.ModelResource):
def dehydrate_student(self, Class):
student_name = getattr(Class.student, "name")
student_lastname = getattr(Class.student, "lastname")
return '%s %s' % (student_name, student_lastname)
Или вы хотите, чтобы name и lastname были в двух отдельных колонках?