我正在学习数据库(Postgres)和ORM,因此受到限制。
在数据库中,我有类似的东西
CREATE TABLE public.city (
city_id serial PRIMARY KEY,
city_name varchar(50) UNIQUE NOT NULL,
region_id integer NOT NULL REFERENCES public.region ON DELETE CASCADE
);
而且,在我的Flask应用程序(python,Flask微框架和Flask-SqlAlchemy)模型定义中,我具有:
class City(Base):
city_id = db.Column(db.Integer, primary_key=True)
city_name = db.Column(
db.String(50),
unique=True,
nullable=False)
region_id = db.Column(
db.Integer,
db.ForeignKey(
'region.region_id',
ondelete="CASCADE"),
nullable=False)
country = db.relationship(
'Region',
backref=db.backref('cities'))
我的疑问是:在我的python模型中,所有这些unique
和nullable
是否必要?考虑到数据库表是通过SQL脚本文件而不是SqlAlchemy创建的。
此信息为ORM框架增加了有用的信息吗?