1
가 나는 다음과 같은 코드가 관계 필드에 텍스트를 변경하는 방법 :장고 관리자
models.py를
from django.db import models
from parler.models import TranslatableModel, TranslatedFields
class Federation(TranslatableModel):
translations = TranslatedFields(
name = models.CharField('name', max_length=50)
)
created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now=True)
class Athlete(models.Model):
first_name = models.CharField(max_length=50)
last_name = models.CharField(max_length=50)
federation = models.ForeignKey('Federation', on_delete=models.SET_NULL, null=True)
height = models.IntegerField();
weight = models.IntegerField();
created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now=True)
이 admin.py
from django.contrib import admin
from parler.admin import TranslatableAdmin
from .models import Athlete, Federation
class AthleteAdmin(admin.ModelAdmin):
list_display = ['first_name', 'last_name', 'height', 'weight', 'get_federation_name']
fields = ['first_name', 'last_name', 'height', 'weight', 'federation']
def get_federation_name(self, obj):
obj.federation.set_current_language('en')
return obj.federation.name
get_federation_name.short_description = 'Federation'
class FederationAdmin(TranslatableAdmin):
search_fields = ['translations__name']
list_display = ['name']
fields = ['name']
admin.site.register(Federation, FederationAdmin)
admin.site.register(Athlete, AthleteAdmin)
페더레이션 필드가 목록으로 표시됩니다 선택 메뉴의 텍스트는 "연합 객체"로 표시됩니다. 이 목록에서는 관련 연합 모델의 번역 관계에서 데이터를 가져 오는 함수를 만들었습니다. 양식 필드에서도 동일한 작업을 수행하려고합니다. 이 기능을 사용하지 않고 양식 필드에서 작동하게하면 같은 방식으로 작동하도록 목록 표시를 변경합니다.
저는 처음으로 Python과 Django에 처음 왔으며이 문제에 대한 해결책을 찾을 수 없습니다.
감사합니다.
정확히 내가 무엇을 찾고 있었습니까. 고맙습니다! 파이썬과 장고는 정말로 내가 코딩 방법을 더 즐겁게 해 주었다. – Gasim