1:django models
3549 단어 django
1:many-to-many의 추가 속성
일반적인 상황에서 many-to-many는 우리의 요구를 직접 만족시킬 수 있다. 이런 상황을 고려한다.
음악가와 악단은 many-to-many의 관계이지만, 우리는 그들의 다대다한 관계에 다른 속성을 추가하고 싶다. 예를 들어 한 음악가가 언제 악단에 가입할 것인지, 이럴 때 우리는 이렇게 할 수 있다.
through 매개 변수를 통해 두 종류의 매개체로 삼다
class Person(models.Model):
name = models.CharField(max_length=128)
def __unicode__(self):
return self.name
class Group(models.Model):
name = models.CharField(max_length=128)
members = models.ManyToManyField(Person, through='Membership')
def __unicode__(self):
return self.name
class Membership(models.Model):
person = models.ForeignKey(Person)
group = models.ForeignKey(Group)
date_joined = models.DateField()
invite_reason = models.CharField(max_length=64)
2: 두 개의 자주 사용하는 모델 함수unicode__() 및 getabsolute_url()
class Person(models.Model):
first_name = models.CharField(max_length=50)
last_name = models.CharField(max_length=50)
def __unicode__(self):
return u'%s %s' % (self.first_name, self.last_name)
def get_absolute_url(self):
return "/people/%i/" % self.id
3: 에이전트
어떤 때는 하나의 클래스에 새로운 방법을 추가하거나 다른 데이터베이스 공간을 추가하고 싶지 않으면 에이전트를 사용할 수 있습니다.
from django.contrib.auth.models import User
class MyUser(User):
class Meta:
proxy = True
def do_something(self):
...
MyUser는 User의 에이전트입니다. MyUser는 User의 데이터베이스 공간에 접근할 수 있고 추가 작업을 할 수 있습니다.
p
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Django의 질문 및 답변 웹사이트환영 친구, 이것은 우리의 새로운 블로그입니다. 이 블로그에서는 , 과 같은 Question-n-Answer 웹사이트를 만들고 있습니다. 이 웹사이트는 회원가입 및 로그인이 가능합니다. 로그인 후 사용자는 사용자의 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.