반응형
추가 필드와 장고의 ManyToMany 관계
자동으로 생성 된 ManyToMany 조인 테이블에 몇 가지 추가 정보를 저장하고 싶습니다. 장고에서 어떻게할까요?
제 경우에는 "Employees"와 "Projects"라는 두 개의 테이블이 있습니다. 내가 저장하고 싶은 것은 각 프로젝트에서 각 직원이 시간당 얼마나 많은 일을 받는지입니다. 그 값은 동일하지 않기 때문입니다. 그래서 어떻게할까요?
나에게 일어난 일은 "ManyToManyField"메서드 대신 세 번째 클래스 / 테이블을 명시 적으로 생성하여 새 정보를 저장하고 "ForeignKey"메서드를 사용하여 "Employees"및 "Projects"와의 관계를 설정하는 것입니다. 나는 그것이 작동 할 것이라고 확신하지만 이것이 최선의 접근 방식입니까?
다음은 달성하려는 작업의 예입니다.
http://docs.djangoproject.com/en/dev/topics/db/models/#extra-fields-on-many-to-many-relationships
링크가 끊어지는 경우 :
from django.db import models
class Person(models.Model):
name = models.CharField(max_length=128)
def __str__(self): # __unicode__ on Python 2
return self.name
class Group(models.Model):
name = models.CharField(max_length=128)
members = models.ManyToManyField(Person, through='Membership')
def __str__(self): # __unicode__ on Python 2
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)
참고 URL : https://stackoverflow.com/questions/4443190/djangos-manytomany-relationship-with-additional-fields
반응형
'IT박스' 카테고리의 다른 글
케이스 전환 : 하나의 숫자 대신 범위를 사용할 수 있습니까? (0) | 2020.12.06 |
---|---|
여러 data.frame을 여러 Excel 워크 시트로 쉽게 내보내는 방법 (0) | 2020.12.06 |
HTML5 지연 : 첫 번째 이벤트까지 유효하지 않은 의사 클래스 (0) | 2020.12.05 |
소나 위반 : 보안-어레이가 직접 저장 됨 (0) | 2020.12.05 |
MAVEN_HOME, MVN_HOME 또는 M2_HOME (0) | 2020.12.05 |