2012-10-26 2 views
1
class Venues(models.Model): 
     .......... 
     .......... 
     category=models.ForeignKey(Category) 


class Category(models.Model): 
    club=models.CharField() 
    bar=models.CharField() 
    adult=models.CharField() 

이들은 내가 가지고있는 모델입니다. 나는 장고 초보자이므로이 간단한 질문을 용서해주십시오. 모든 Venue 객체가 카테고리 목록 (예 : 클럽, 바 또는 성인)에서 선택된 하나의 카테고리를 갖기를 원합니다. 그래서 각 카테고리 - 클럽, 바, 성인 - 많은 장소를 가질 수 있지만 내가 말했듯이 모든 장소는 하나의 카테고리가 있습니다.django 모델은 객체에 카테고리를 추가합니다.

그래서 나는 무엇을 달성하려하는지 또는 완전히 잘못된 것입니까? 도와주세요. 감사합니다

답변

0

귀하의 Category에는 type이라는 하나의 필드가있을 수 있으며 그 유형은 'club', 'bar', 'adult'중 하나 일 수 있습니다. 또한 캐릭터 필드가있는 Venue를 가지고 고정 된 세트 choices을 줄 수 있습니다. 따라서 이미 데이터베이스를 설정하는 방법에 접근하는 데는 두 가지 방법이 있습니다. 장소는 하나 이상의 카테고리를 가질 수 있습니까? 그렇다면 manytomany 필드를 사용하는 것이 좋습니다. 코드에 수동으로 추가해야하는 새 범주를 추가하려는 경우 문제가 있다고 생각합니다. 주어진 Category 유형 필드를 선택한 경우 사용자는 코드를 변경하지 않고 관리자로부터 새 카테고리를 추가 할 수 있습니다.

실제로 범주 인스턴스를 가져와야하는 Venue에 범주를 실제로 추가하는 방법을 알고 싶다면 여기를 클릭하십시오. 이 작업은 DB에 이미 하나를 검색하거나 새

category = Category.objects.get(pk=1) 

다음 방금 카테고리로 새로운 장소를 저장합니다 해당 카테고리

new_venue = Venue(category=category, other_args) 
new_venue.save() 

을 사용하여 새 장소를 만들 수 있습니다 createing하여 수행 할 수 있습니다. Django documentation은 훌륭한 참고 자료입니다.

+0

감사합니다. 완벽한 솔루션이었습니다. 카테고리 필드에 고정 된 선택 항목 세트를 추가했습니다. 단 3 개의 고정 된 선택 만 필요했습니다. 이제 내가 어떻게 그 객체들을 호출 할 것인가 또는 선택된 선택에 의해 객체들을 필터링 할 것인가? –

관련 문제