tortoise/tortoise-orm

on_delete should be required

Open

#1 801 ouverte le 5 déc. 2024

Voir sur GitHub
 (3 commentaires) (4 réactions) (0 assignés)Python (333 forks)batch import
enhancementgood first issue

Métriques du dépôt

Stars
 (3 863 stars)
Métriques de merge PR
 (Merge moyen 15j 7h) (9 PRs mergées en 30 j)

Description

Is your feature request related to a problem? Please describe. I encountered that when declaring ForeignKeyField on_delete = CASCADE, I believe that this is dangerous and in some scenarios may lead to undesirable consequences.

def ForeignKeyField(
    model_name: str,
    related_name: Union[Optional[str], Literal[False]] = None,
    on_delete: OnDelete = CASCADE,
    db_constraint: bool = True,
    null: bool = False,
    **kwargs: Any,
) -> "ForeignKeyRelation[MODEL] | ForeignKeyNullableRelation[MODEL]":

Describe the solution you'd like The best solution would be to make on_delete a mandatory parameter, I believe that actions with data should be explicit.

def ForeignKeyField(
    model_name: str,
    on_delete: OnDelete,
    related_name: Union[Optional[str], Literal[False]] = None,
    db_constraint: bool = True,
    null: bool = False,
    **kwargs: Any,
) -> "ForeignKeyRelation[MODEL] | ForeignKeyNullableRelation[MODEL]":

Guide contributeur