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 è:
- Crea un progetto di Django.
- Aggiorna le impostazioni del database con la configurazione del database desiderato.
- 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.