2 votes

Nom de la table à partir du modèle

Lorsque j'ai créé une requête pour le modèle suivant

class City(models.Model):
    city_id         = models.BigIntegerField(primary_key=True)

le nom de la table ressemble à "lookups_city" où "lookups" est le nom de mon module. Existe-t-il un moyen de ne prendre en compte que le nom de la classe ? Parce que je suis en train de migrer mon application d'une autre plateforme vers Python où j'ai une table comme "city".

3voto

Yuji 'Tomita' Tomita Points 46106

Définissez simplement db_table dans la méta classe de votre modèle

https://docs.djangoproject.com/en/dev/ref/models/options/#db-table

class Meta:
   db_table = 'city'

2voto

Zacharoo Points 103

Vous voudriez

class City(models.Model):
    city_id         = models.BigIntegerField(primary_key=True)
class Meta:
    db_table = 'city'

le site db_table vous permet d'utiliser un nom personnalisé pour votre table plutôt que le format par défaut appname_model.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X