35
loading...
This website collects cookies to deliver better user experience
from sqlmodel import SQLModel, Field
from typing import Optional
class User(SQLModel, table=True):
id: Optional[int] = Field(default=None, primary_key=True)
name: str
email: str
from sqlmodel import SQLModel, Field
from sqlalchemy import UniqueConstraint
from typing import Optional
class User(SQLModel, table=True):
__table_args__ = (UniqueConstraint("email"),)
id: Optional[int] = Field(default=None, primary_key=True)
name: str
email: str
...
CREATE TABLE user (
id INTEGER,
name VARCHAR NOT NULL,
email VARCHAR NOT NULL,
PRIMARY KEY (id),
UNIQUE (email)
)
...
...
from sqlmodel import SQLModel, Field
from sqlalchemy import UniqueConstraint, Column, String
from typing import Optional
class User(SQLModel, table=True):
id: Optional[int] = Field(default=None, primary_key=True)
name: str
email: str = Field(sa_column=Column("email", String, unique=True))
...
...
CREATE TABLE user (
id INTEGER,
name VARCHAR NOT NULL,
email VARCHAR NOT NULL,
PRIMARY KEY (id),
UNIQUE (email)
)
...
...
with Session(engine) as session:
user1 = User(name="Kyei Samuel", email="[email protected]")
user2 = User(name="Rex Osei", email="[email protected]")
session.add(user1)
session.add(user2)
session.commit()
...
...
sqlalchemy.exc.IntegrityError: (sqlite3.IntegrityError) UNIQUE constraint failed: user.email
[SQL: INSERT INTO user (email, name) VALUES (?, ?)]
[parameters: ('[email protected]', 'Rex Osei')]
(Background on this error at: https://sqlalche.me/e/14/gkpj)
...