Message110410
| Author |
zzzeek |
| Recipients |
alexandre.vassalotti, belopolsky, eric.araujo, grubert, jackdied, rhettinger, schmir, zzzeek |
| Date |
2010年07月16日.02:05:29 |
| SpamBayes Score |
0.0048079104 |
| Marked as misclassified |
No |
| Message-id |
<1279245933.93.0.0486710211332.issue9269@psf.upfronthosting.co.za> |
| In-reply-to |
| Content |
OK, more specifically, here's the kind of situation where items in a set are mutable:
company = Session.query(Company).first()
# company.employees is a set()
company.employees
# each employee references the parent company
for e in company.employees:
assert e.company is company
So nothing is mutated relationally in this case. It's just a plain old bidirectional structure. If two objects are related via many-to-many, then you might have a set in both directions. I'm not sure if this specific situation produces the pickle bug, however, it's been awhile since I've seen which specific case causes the problem. But there are mutable items in a set in these examples and it doesn't seem unreasonable to me. |
|