我创建了省市县乡四级级联的Model,
我希望关联字段显示的是文本而不是id,比如在【市表】的【所属省】字段中,显示省名,而不是省表的id。
而且在添加市的html模板中,我提交所属省的value时,如果是id就正常,如果是name就报1366错。
在市表中,我希望能关联省名
在县表中,我希望能关联市名,省名
在乡表中,我希望能关联县名,市名,省名
请教,我还需要怎么改
代码如下:
class ProvinceModel(db.Model):
__tablename__ = 'provinces'
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(32), unique=True)
class CityModel(db.Model):
__tablename__ = 'cities'
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(32), unique=True)
province_name = db.Column(db.String(32), db.ForeignKey('provinces.name'))
province = db.relationship('Province', backref=db.backref('cities', lazy='dynamic'))
class CountyModel(db.Model):
__tablename__ = 'counties'
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(32), unique=True)
city_name = db.Column(db.String(32), db.ForeignKey('cities.name'))
city = db.relationship('City', backref=db.backref('counties', lazy='dynamic'))
class TownshipModel(db.Model):
__tablename__ = 'townships'
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(32), unique=True)
county_name = db.Column(db.String(32), db.ForeignKey('counties.name'))
county = db.relationship('County', backref=db.backref('townships', lazy='dynamic'))