J'ai une question concernant le SQLAlchemy. Comment puis-je ajouter dans ma classe mappée l'attribut de type dictionnaire, qui mappe les clés de chaîne en valeurs de chaîne et qui seront stockées dans la base de données (dans la même table ou dans une autre table que l'objet mappé original). Je veux que cela ajoute le support pour les balises arbitraires de mes objets.SQLAlchemy - Dictionnaire de tags
Je trouve l'exemple suivant dans la documentation SQLAlchemy:
from sqlalchemy.orm.collections import column_mapped_collection, attribute_mapped_collection, mapped_collection
mapper(Item, items_table, properties={
# key by column
'notes': relation(Note, collection_class=column_mapped_collection(notes_table.c.keyword)),
# or named attribute
'notes2': relation(Note, collection_class=attribute_mapped_collection('keyword')),
# or any callable
'notes3': relation(Note, collection_class=mapped_collection(lambda entity: entity.a + entity.b))
})
item = Item()
item.notes['color'] = Note('color', 'blue')
Mais je veux le comportement suivant:
mapper(Item, items_table, properties={
# key by column
'notes': relation(...),
})
item = Item()
item.notes['color'] = 'blue'
Il est possible SQLAlchemy?
Merci
Comment pouvez-vous supprimer 'i' alors?Je reçois une '' aise AssertionError ("La règle de dépendance essaye de vider la colonne de clé primaire '% s' sur l'instance '% s'" (r, mapperutil.state_str (dest))) 'exception en essayant' s.delete (i) ' – Sardathrion
Répondre à ma propre question:' Dans mapper (item [...], cascade = "all, supprimer-orphelin"), [...] ' – Sardathrion