0

誰かが私の質問に答えてくれるのを必死に待っています....助けてください..ModelAdminモデルはExcelアクションメソッドにエクスポートする必要があります。

アクション メソッドで関連するモデル フィールドにアクセスする必要があります。つまり、引数を渡すことができないため、relatedmodel_set を試してみましたが、属性を介して値にアクセスしようとすると、ModelAdmin アクション メソッドにメモリの場所が表示され、失敗します。

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 にパラメーターを渡すことができません。したがって、Django 管理者の change_list ページから選択された行のみのデータは、別の actions.py ファイルで使用されるアクション メソッドで queryset を使用して少し作業するだけで済みます。

この問題で私を助けてください。Python / Django は初めてです。また、関連モデルでプロパティデコレータを試し、メインモデルのメソッドでアクセスしてアクション内で呼び出しましたが、直接値ではなくメモリアドレスに関する同じ問題と、ここでメモリ位置のデータを取得する方法....わかりません.

関連するフィールドにアクセスできれば問題ありません。

別の質問: 以前、モデル/関連モデルで同じ状況がありましたが、それらは OneToOneField 関係を介して接続されており、dundor を使用して関連モデル フィールドにアクセスできましたが、この ForiegnKey 関係の場合、クエリセットで関連モデルを表示できません。

それ以外の場合、これは私が簡単にできることです。ここで cohortdetails は関連するモデルであり、デバッグすると、クエリセットにリストされていることがわかりました。

アクション = [export_as_txt_action_0080("ファイル NAT00080 txt エクスポート", fields=['rto_student_code', 'first_name', 'family_name' ,'cohortdetails__highest_school__highestschool_levelcode', 'cohortdetails__cohort_gender' , 'cohortdetails__student_dob' ])]

4

0 に答える 0