: 위의 경우Django의 다중 테이블 상속에서 upload_to 인수를 재정의 할 수 있습니까? 다음 코드
class Image(models.Model):
alt_name = models.CharField(max_length=200)
url = models.CharField(max_length=255, blank=True)
class Button(Image):
source = models.ImageField(max_length=1024, upload_to='buttons')
class Snapshot(Image):
source = models.ImageField(max_length=1024, upload_to='snapshots')
class Banner(Image):
source = models.ImageField(max_length=1024, upload_to='banners')
, 나는 자신의 업로드 폴더에 다른 종류의 각각을 업로드 할 수 있습니다. 예를 들어, 배너는 banners
이라는 폴더 아래로 이동하고 스냅 샷은 snapshots
이됩니다. 위의 예상대로 작동하지만 각 하위 클래스에 대한 ImageField 반복 해요. 위의 것이 목표를 달성하는 유일한 방법입니까 아니면 DRYer 방법이 있습니까?
.. 대신 각 이미지 유형에 대한 상속을 사용하여, 나는이 선택을 포함하는 이미지 모델 kwarg상의 IntegerField을 만들 것입니다 : 당신이 뭔가를 할 수 있습니다/en/dev/ref/models/fields/# choices ... 그런 다음 upload_to 값을 IntegerField 값에서 트리거하십시오. 피할 수있는 경우 이미지 테이블에 대한 조인으로 쿼리 할 필요가 없습니다. –