Обезличить одно и то же поле 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 были в двух отдельных колонках?

Вернуться на верх