Доступ к связанным полям модели из действий ModelAdmin для экспорта в Excel

Модель ModelAdmin должна экспортировать в метод действий Excel.

Мне нужно получить доступ к связанным полям модели в методе действия. Это означает, что я не могу передавать какие-либо аргументы, поэтому я попробовал relatedmodel_set, но метод действия ModelAdmin показывает расположение памяти и не работает, когда я пытаюсь получить доступ к значениям через атрибуты: <django.db.models.fields.related_descriptors.create_reverse_many_to_one_manager..RelatedManager объект по адресу 0x7f8eea904ac0>

model.py

      class EnrolStudent(models.Model):

  def get_trn_activity(self):
      return self.studenttraininactivities_set


class StudentTraininActivities(models.Model):

    trainin_activities = models.ForeignKey(EnrolStudent, 
                              on_delete=CASCADE, null=True )
    <other fields...>

admin.py

      @admin.register(EnrolStudent)
class EnrolAdmin(admin.ModelAdmin):
    form = CityInlineForm
    inlines = [CohortTraininActivitiesInline]

    ...
    actions = [export_as_txt_action_0120("File NAT00120 data Export"
            , fields=['information_no', 'get_trn_activity',
            'student_enrol__student_code'])]

Мне нужно получить доступ к связанным полям модели для экспорта в Excel. Как вы заметили, я не могу передать параметр в get_trn_activity. Поэтому для выбранных строк, только данных со страницы change_list администратора Django, потребуется только немного работы, используя его набор запросов в методе действий, который используется в отдельном файле actions.py, который я могу сделать!

Пожалуйста, помогите мне с этим вопросом. Я новичок в Python / Django. Я также попробовал декоратор свойств в связанной модели, затем обратился к методу в основной модели, затем вызвал его внутри действия, но та же проблема с адресом памяти, а не прямым значением, а затем как получить здесь данные о местоположении памяти .... Я не знаю .

Если я могу получить доступ к связанным полям, тогда я не смогу это сделать.

Другой вопрос: у меня была такая же ситуация с моделью / связанной моделью раньше, но они были связаны через отношения OneToOneField, и я смог использовать dundor для доступа к связанным полям модели, но в этом случае отношения ForiegnKey я не вижу связанную модель в наборе запросов.

В противном случае это то, что я могу легко сделать; здесь cohortdetails - это связанная модель, и когда я отлаживал, я увидел, что она была указана в наборе запросов, что было здорово.

actions = [export_as_txt_action_0080("Экспорт файла NAT00080 txt",fields=['rto_student_code', 'first_name', 'family_name', 'cohortdetails__highest_school__highestschool_levelcode],' cohortdetails__cohort_gender'),' cohortdetails__cohort_gender')

0 ответов

Другие вопросы по тегам