Tôi có câu hỏi liên quan đến SQLAlchemy. Làm thế nào tôi có thể thêm vào lớp được ánh xạ của tôi thuộc tính giống như từ điển, ánh xạ các khóa chuỗi thành các giá trị chuỗi và sẽ được lưu trữ trong cơ sở dữ liệu (trong cùng một bảng khác với đối tượng được ánh xạ ban đầu). Tôi muốn điều này thêm hỗ trợ cho các thẻ tùy ý của đối tượng của tôi.SQLAlchemy - Từ điển của các thẻ
tôi thấy ví dụ sau đây trong tài liệu 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')
Nhưng tôi muốn các hành vi sau đây:
mapper(Item, items_table, properties={
# key by column
'notes': relation(...),
})
item = Item()
item.notes['color'] = 'blue'
Có thể trong SQLAlchemy?
Cảm ơn bạn
Làm cách nào để xóa 'i'?Tôi nhận được một 'aise AssertionError (" Quy tắc phụ thuộc cố gắng để trống ra cột khóa chính '% s' trên ví dụ '% s' "% (r, mapperutil.state_str (dest)))' ngoại lệ khi thử 's.delete (i) ' – Sardathrion
Trả lời câu hỏi của riêng tôi:' Trong bản đồ (mục [...], cascade = "tất cả, xóa-mồ côi"), [...] ' – Sardathrion