tortoise/tortoise-orm

on_delete should be required

Open

#1.801 geöffnet am 5. Dez. 2024

Auf GitHub ansehen
 (3 Kommentare) (4 Reaktionen) (0 zugewiesene Personen)Python (333 Forks)batch import
enhancementgood first issue

Repository-Metriken

Stars
 (3.863 Stars)
PR-Merge-Metriken
 (Durchschn. Merge 15T 7h) (9 gemergte PRs in 30 T)

Beschreibung

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]":

Contributor Guide