내 models.py 파일에 2 개의 모델이 있습니다. 장르와 AudioTracks. 각 트랙에는 장르가 지정됩니다. 따라서, 나는 ForeignKey 관계를 정의했다. 제 문제는 관리자보기에서 각 트랙 앞에 장르를 추가하려고 할 때 콤보 상자에서 선택 항목을 선택할 수 없다는 것입니다. 추가 기호 (예 : 녹색 +)를 클릭해야하며 장르 창이 나타나면 장르를 추가 할 수 있습니다.Django 관리자의 드롭 다운 상자가 선택 항목을 자동으로 채우지 않습니다.
하단의 작은 콤보 상자에서 트랙을 추가하고 장르를 선택하고 싶습니다. 여기
은 이미지입니다 :두 번째 이미지 :
이내 코드의 조각은 다음과 같습니다 :
GENRE_CHOICES = (
('rock', 'Rock'),
('jazz/blues', 'Jazz/Blues'),
('blues', 'Blues'),
('r&b', 'R&B'),
('jazz', 'Jazz'),
('pop', 'Pop'),
('hip-hop', 'Hip-Hop'),
)
def get_upload_path(dirname, obj, filename):
return os.path.join("audiotracks", dirname, obj.user.username, filename)
def get_audio_upload_path(obj, filename):
return get_upload_path("audio_files", obj, filename)
class Genre(models.Model):
genre_choices = models.CharField(max_length=1, choices=GENRE_CHOICES)
slug = models.SlugField(max_length = 100, unique = True)
def __unicode__(self):
return self.title
def get_absolute_url(self):
return ('view_midmentals_genre', None, {'slug':self.slug})
class AudioTrack(models.Model):
class Meta:
pass
user = models.ForeignKey(User,
related_name = "tracks",
blank = True,
null = True
)
added_on = models.DateTimeField(auto_now_add=True, null = True)
updated_on = models.DateTimeField(auto_now=True, null = True)
audio_file = models.FileField(_("Audio file"), upload_to=get_audio_upload_path)
title = models.CharField(_("Title"), max_length="200", null=True)
description = models.TextField(_("Description"), null=True, blank=True)
slug = models.SlugField(max_length = 40, unique = True) #so as to have a dedicated page for each category
genre = models.ForeignKey(Genre)
날 내가 필요하면 알려 주시기 바랍니다 내 질문이나 제목을 바꾸세요. 나는 말로 표현하기가 힘들었다. 고맙습니다.
이 아직도 외래 키 관계를 정의 할
및 고려하면 선택 목록 좋아해요? – dobleV
아니요, 장르 모델 – YardenST
을 삭제해야합니다. 결국 내 html 템플릿에서 특정 장르의 모든 트랙을 표시 할 수 있습니다. 장르 아래에 모든 트랙을 표시하는 페이지가 있습니다. 모델을 삭제해도 여전히이 작업을 수행 할 수 있습니까? 감사합니다 – dobleV