tortoise/tortoise-orm

on_delete should be required

Open

#1801 aperta il 5 dic 2024

Vedi su GitHub
 (3 commenti) (4 reazioni) (0 assegnatari)Python (333 fork)batch import
enhancementgood first issue

Metriche repository

Star
 (3863 star)
Metriche merge PR
 (Merge medio 15g 7h) (9 PR mergiate in 30 g)

Descrizione

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

Guida contributor