/ / Sqlalchemy a django orm - python, django

Sqlalchemy a django orm - python, django

Ho uno script da riga di comando che ha sqlalchemy. Sembrano come segue:

class TimestampMixin(object):
created_date = Column(DateTime, default=func.now())

class DataSource(Base, TimestampMixin):
"""DataSource object"""
__tablename__ = "data_source"
id = Column(Integer, primary_key=True)
name = Column(String)
external_location = Column(String)
games = relationship("Game", backref="data_source")

Ora voglio prendere gli stessi modelli e inserirli in un'app django. Posso farlo a mano come segue:

class TimestampMixin(models.Model):
created_date = models.DateTimeField(auto_now_add=True)

class Meta:
abstract = True

class DataSource(TimestampMixin):
"""DataSource object"""
name = models.CharField(max_length=255)
external_location = models.CharField(max_length=255)

class Meta:
db_table = "data_source"

Mi stavo chiedendo se c'è un modo migliore. Non sarebbe così brutto da iniziare visto che ho solo 9 modelli, ma preferirei non mantenerli. C'è un approccio migliore (standardizzato)? Con djanog vorrei essere ancora in grado di usare cose come DjangoRestFramework e DjangoForms. Non sono sicuro che funzionino con sqlalchemy.

risposte:

0 per risposta № 1

È meglio usare Django ORM o SQLAlchemy.

Se si desidera utilizzare il database SQLAlchemy in django, ciò che si può fare è:

  1. Crea un progetto di Django.
  2. Aggiorna le impostazioni del database con la configurazione del database desiderato.
  3. Esegui comando: python manage.py inspectdb

Ciò restituirà la struttura del modello che può essere utilizzata in Django senza modificare il database.

Puoi verificarlo qui in dettaglio: https://docs.djangoproject.com/en/dev/ref/django-admin/#inspectdb

Puoi controllare Questo QUINTA risposta sull'utilizzo di SQLAlchemy e Django insieme.