2009-07-01 4 views
0

나는 장고에 익숙하지 않으며 (SQL에 대한 경험이 없다), 아마도 표준 방법이 없다. 내부 데이터베이스 구조를 확인하는 방법

그래서 내가 있는지 확인하려면 고정 된 사람 및 고정 밴드 bertween 최대 한 회원에가 무엇 http://docs.djangoproject.com/en/dev/ref/contrib/admin/#working-with-many-to-many-intermediary-models

에서 밴드, 사람, 회원 예제를 사용 가정합니다. 한 사람은 밴드에 대해 하나의 "invite_reason"및 "join_date"만 가질 수 있습니다. onetomany 모델과 같은 일종의 "독특한"플래그가 있습니까?

나는 내가 새로운 것을 지우고 지우는 루틴을 쓸 수 있다고 생각한다. 어디에 그런 일상이 생겨서 무엇이라고 부를 것입니까 (cron, django 신호 (아직 이해가 안되나요))?

답변

2

질문에 대한 오해가있을 수도 있지만 내부 Meta 클래스를 조사하고 싶습니까?

class Membership(models.Model): 

    class Meta: 
     unique_together = (('person'), ('group'),) 

    person = models.ForeignKey(Person) 
    group = models.ForeignKey(Group) 
    date_joined = models.DateField() 
    invite_reason = models.CharField(max_length=64) 

이렇게하면 사람이 결코 그룹의 구성원이 될 수 없다는 제약이 추가됩니다. 전문 용어로이 테이블에는 "person"과 "group"이 같은 값을 가진 행이 두 개가 없을 수 있습니다.

예를 들어 PK 7을 가진 사람은 PK 11이있는 그룹의 구성원이되어서는 안됩니다. 실제로 말한대로 Django 신호, 특히 pre_save 후크를 조사해야합니다.

관련 문제