Quando provo a inserire un nuovo record nel database utilizzando SQLAlchemy e non riempio tutti i valori, tenta di inserirli come "Nessuno" (invece di ometterli). Si lamenta quindi degli errori "non può essere nulla". C'è un modo per aver semplicemente omettere le colonne dalla query sql se le omesso anche quando dichiaro l'istanza?SQLAlchemy e colonne vuote
risposta
Questo è un problema di schema del database, non un problema di SQLAlchemy. Se lo schema del tuo database ha una colonna che non può essere NULL, devi inserire qualcosa (ad esempio, non None). O modificare lo schema per consentire NULL in quelle colonne.
Wikipedia contiene una voce about NULL e un articolo che descrive non-NULL constraints
da aggiungere alla risposta da Ali A, questo significa che è necessario avere nullable=True
nella definizione della colonna, in modo che NULL è permesso nella colonna. Per esempio:
email_address = Column(String, nullable=True)
SQLAlchemy docs for Tables and Columns, estratto da v1.2 doc:
annullabile - Se impostato su False, farà sì che la frase “NOT NULL” per essere aggiunti durante la generazione DDL per la colonna . Se True, normalmente non genera nulla (in SQL questo valore predefinito è "NULL"), ad eccezione di alcuni casi di edge specifici specifici del backend in cui "NULL" può rendere esplicitamente . Il valore predefinito è True a meno che il tasto primary sia anch'esso True, in cui il caso è impostato su False. Questo parametro viene utilizzato solo quando si emettono le istruzioni CREATE TABLE .
- 1. Autogenerazione alambicco Migrazioni di Flask-SQLAlchemy vuote
- 2. sqlalchemy unico su più colonne
- 3. Panda: aggiungere più colonne vuote a DataFrame
- 4. Colonne stringa senza distinzione tra maiuscole e minuscole in SQLAlchemy?
- 5. come creare dinamicamente le colonne SQLAlchemy
- 6. differenza tra pseudo-classi vuote e vuote
- 7. Tipo personalizzato SQLAlchemy che contiene più colonne
- 8. Aggiornamento correlato SQLAlchemy per più colonne
- 9. SQLAlchemy: conteggio delle distinte su più colonne
- 10. come selezionare solo alcune colonne in SQLAlchemy?
- 11. Unione SQLAlchemy con diverso numero di colonne
- 12. git e cartelle vuote
- 13. Come eliminare il trascinamento di righe/colonne vuote
- 14. SqlAlchemy e Multiprocessing
- 15. SQLAlchemy e paging
- 16. SQLAlchemy e Postgresql: to_tsquery()
- 17. SQLAlchemy e valori scalari
- 18. metodo di iterazione su colonne definite del modello sqlalchemy?
- 19. python sqlalchemy ottiene dinamicamente i nomi delle colonne?
- 20. Come filtrare le colonne concesse con LIKE usando SQLAlchemy?
- 21. SQLAlchemy. Caricamento colonna dichiarativa e differita
- 22. Flask, SQLAlchemy e Jinja2 - UnicodeDecodeError
- 23. SQLAlchemy selezionare con Max, group_by e order_by
- 24. Compilando automaticamente 0 e 0% in celle vuote di Excel
- 25. Ignora celle vuote PHPExcel
- 26. sqlalchemy filter multiple columns
- 27. Googlesheet APIv4 ottiene celle vuote
- 28. SQLAlchemy e SQLite cache condivisa
- 29. Flask-Sqlalchemy + Sqlalchemy: elenco vuoto restituibile ricercabile
- 30. SQLAlchemy: funzionamento sui risultati
questo più direttamente risponde alla domanda – 10flow