내가 원하는 다른 소유자에 강아지의 같은 이름이있을 수있는 경우 같은 사람이 같은 이름을 가진 개를 가지고 있지만 수 없다는 것입니다플라스크 관계 만 같은 사람에 대해 고유 한 열 이름
class Person(db.Model):
id = db.Column(db.Integer,primary_key=True)
name = db.Column(db.String(20))
pets = db.relationship('Pet',backref='person',lazy='dynamic')
class Pet(db.Model):
id = db.Column(db.Integer,primary_key=True)
name = db.Column(db.String(20),unique=True)
owner_id = db.Column(db.Integer,db.ForeignKey('person.id'))
예를 들어 Person 테이블에서 [fran ','larson ','pedro ']와 같은 이름이 있으며 애완 동물 테이블에 동일한 이름을 가진 애완 동물 3 명이있을 수 있지만 애완 동물과는 절대로 연관 될 수 없다는 아이디어가 있습니다 예를 들어 사람과 동일한 이름이 붙은 사람
pets_fran = [ 'name_pet_1', 'name_pet_2'] < ---
,pets_larson = [ 'name_pet_4', 'name_pet5', 'name_pet_4'] < --- 같은 이름을 가진 두 개의 애완 동물을 가지고 있기 때문에이 거부
pets_pedro = [ 'name_pet_1', 'name_pet_6', 'name_pet_7'
class Pet(db.Model):
id = db.Column(db.Integer,primary_key=True)
name = db.Column(db.String(20),unique=True)
owner_id = db.Column(db.Integer,db.ForeignKey('person.id'))
__table_args__ = (db.UniqueConstraint('owner_id', 'name'),)
을 이제 당신이 사용하는 경우 :] < --- 페드로의 마스코트와 프랜 당신은 Pet
테이블에 UniqueConstraint
을 추가 할 수 있습니다 같은 이름을 가지고 있지만 서로 다른 소유자