sqlobjects 1.2.1__py3-none-any.whl → 1.2.2__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
sqlobjects/metadata.py CHANGED
@@ -938,13 +938,25 @@ class ModelProcessor(type):
938
938
  cls: Model class
939
939
  table: SQLAlchemy Table instance
940
940
  """
941
- for name, field_def in mcs._get_fields(cls).items():
942
- if is_field_definition(field_def) and not getattr(field_def, "_is_relationship", False):
943
- column_attr = get_column_from_field(field_def)
944
- if column_attr is not None and hasattr(column_attr, "__column__"):
945
- # Update the ColumnAttribute's internal column to reference the table column
946
- if name in table.columns:
941
+ for name in table.columns.keys():
942
+ for klass in cls.__mro__:
943
+ descriptor = klass.__dict__.get(name)
944
+ if descriptor is not None and hasattr(descriptor, "_column_attribute"):
945
+ column_attr = descriptor._column_attribute
946
+ if column_attr is None or not hasattr(column_attr, "__column__"):
947
+ break
948
+ if klass is cls:
947
949
  column_attr.__column__ = table.columns[name] # type: ignore[reportAttributeAccessIssue]
950
+ else:
951
+ new_col_attr = object.__new__(type(column_attr))
952
+ new_col_attr.__dict__.update(column_attr.__dict__)
953
+ new_col_attr.__column__ = table.columns[name]
954
+ new_col_attr.model_class = cls
955
+ new_descriptor = object.__new__(type(descriptor))
956
+ new_descriptor.__dict__.update(descriptor.__dict__)
957
+ new_descriptor._column_attribute = new_col_attr
958
+ type.__setattr__(cls, name, new_descriptor)
959
+ break
948
960
 
949
961
  @classmethod
950
962
  def _initialize_field_cache(mcs, cls: Any) -> None:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sqlobjects
3
- Version: 1.2.1
3
+ Version: 1.2.2
4
4
  Summary: Django-style async ORM library based on SQLAlchemy with chainable queries, Q objects, and relationship loading
5
5
  Author-email: XtraVisions <gitadmin@xtravisions.com>, Chen Hao <chenhao@xtravisions.com>
6
6
  Maintainer-email: XtraVisions <gitadmin@xtravisions.com>, Chen Hao <chenhao@xtravisions.com>
@@ -2,7 +2,7 @@ sqlobjects/__init__.py,sha256=AiZiXBEjvrSItmhnlgyvMDCipU49XmvQPAujg-EoEDg,977
2
2
  sqlobjects/_install_rules.py,sha256=ndw9815-60WY_ORGUefijUBnoUHPd0NBzUkCL8mQLKc,4053
3
3
  sqlobjects/cascade.py,sha256=HLHB4TEoqK7m2i4X9JM0oX3nbltuTntaX3tMX1B1ym4,38389
4
4
  sqlobjects/exceptions.py,sha256=zV0pZp_SqZiLILTPHSBebecyOw1SsuqscS3AWdVcNbM,15938
5
- sqlobjects/metadata.py,sha256=7coGMRrvZtfVsZn8KioPAS66DBUBLhkKIYfD1BvaFFw,45321
5
+ sqlobjects/metadata.py,sha256=aKk0r9s_ZCu2SmfB983lHQLOADDd-T9i2dPKKqHETm0,45923
6
6
  sqlobjects/mixins.py,sha256=TBZFYAfa9RKF0UpxloBwREoWRPrWFHQE8MjOu7Aepu0,25501
7
7
  sqlobjects/model.py,sha256=PwP-0XhlVktICRCEye0gYlXrkVQG13yErjOwwf2ssJ0,19273
8
8
  sqlobjects/queryset.py,sha256=KSr7X3NSP-HT29uFezId0qbto-tfOK7gqQ81qIQbOlw,49942
@@ -54,17 +54,17 @@ sqlobjects/utils/__init__.py,sha256=NsJ52Fl_PaB-2WlOIJVGNPmgOnqPmvYRmp7uaq5zfYs,
54
54
  sqlobjects/utils/inspect.py,sha256=u-Q9VBoSGYCE_3Soy8jMuCAdM-P7IkSzTxqrJop_Ilk,2612
55
55
  sqlobjects/utils/naming.py,sha256=PmfNuEz-Twly2qREjKfMNulJt8TmOUJaxzFTuts3COg,1411
56
56
  sqlobjects/utils/pattern.py,sha256=FGCgobTpnmKjdAtQidHIg4Xa2CQLeP35F0VuX_1T1dk,14740
57
- sqlobjects-1.2.1.data/data/share/sqlobjects/rules/01-database-session-guide.md,sha256=lnqRpcDhYKdH-f0avW1jXcWt3qi7XBwkMt7clTs9Zvg,7601
58
- sqlobjects-1.2.1.data/data/share/sqlobjects/rules/02-model-definition-guide.md,sha256=i5gNJM-0bIJ2xSUu3mij8uB9kJC9EAc_439sCBqRph8,10977
59
- sqlobjects-1.2.1.data/data/share/sqlobjects/rules/03-query-operations-guide.md,sha256=BEZE_WUUhY6sEZDiDtrbInlV_UVIhbYETABJTNhu2JQ,10550
60
- sqlobjects-1.2.1.data/data/share/sqlobjects/rules/04-crud-operations-guide.md,sha256=abUEvRPSiSjX8enclXO5Uryox9Rt0WFeRcFkvHXfPf8,10085
61
- sqlobjects-1.2.1.data/data/share/sqlobjects/rules/05-relationships-guide.md,sha256=MJ23fYOTWqrLd54ENZLu3S3QRqbLf7joq-YhF6-V8OQ,12204
62
- sqlobjects-1.2.1.data/data/share/sqlobjects/rules/06-validation-signals-guide.md,sha256=i9WLLhyCDoWGkIYqH2D_XLn98oMbF1pB3-L-b5gRbT4,14294
63
- sqlobjects-1.2.1.data/data/share/sqlobjects/rules/07-performance-guide.md,sha256=rjR0DjT39poEBVaUxAzJBEaMaBrZKLVer1zXaNNYfxg,12851
64
- sqlobjects-1.2.1.data/data/share/sqlobjects/rules/README.md,sha256=d2n5ZZT8LGvjL60u_HlzXn2uA8FwoCgqG3fuAhvMFvM,2280
65
- sqlobjects-1.2.1.dist-info/licenses/LICENSE,sha256=ScFR7nvWIhar0d32Y-LA4vqp9zNmy1HSJia7UX7jU6c,1068
66
- sqlobjects-1.2.1.dist-info/METADATA,sha256=S-kmcZYeRfKaJGKph1LLOuzeZ7GarkoZebohwI9rnAw,13740
67
- sqlobjects-1.2.1.dist-info/WHEEL,sha256=YCfwYGOYMi5Jhw2fU4yNgwErybb2IX5PEwBKV4ZbdBo,91
68
- sqlobjects-1.2.1.dist-info/entry_points.txt,sha256=9Q3Ci55MawxkQhMlR_eLJui00_rYYIVO_Aq_Dm0u5MQ,76
69
- sqlobjects-1.2.1.dist-info/top_level.txt,sha256=brO5vDtCpn4L9dpX0EHpehbu4kcHaK_2Bbnwze35YKc,11
70
- sqlobjects-1.2.1.dist-info/RECORD,,
57
+ sqlobjects-1.2.2.data/data/share/sqlobjects/rules/01-database-session-guide.md,sha256=lnqRpcDhYKdH-f0avW1jXcWt3qi7XBwkMt7clTs9Zvg,7601
58
+ sqlobjects-1.2.2.data/data/share/sqlobjects/rules/02-model-definition-guide.md,sha256=i5gNJM-0bIJ2xSUu3mij8uB9kJC9EAc_439sCBqRph8,10977
59
+ sqlobjects-1.2.2.data/data/share/sqlobjects/rules/03-query-operations-guide.md,sha256=BEZE_WUUhY6sEZDiDtrbInlV_UVIhbYETABJTNhu2JQ,10550
60
+ sqlobjects-1.2.2.data/data/share/sqlobjects/rules/04-crud-operations-guide.md,sha256=abUEvRPSiSjX8enclXO5Uryox9Rt0WFeRcFkvHXfPf8,10085
61
+ sqlobjects-1.2.2.data/data/share/sqlobjects/rules/05-relationships-guide.md,sha256=MJ23fYOTWqrLd54ENZLu3S3QRqbLf7joq-YhF6-V8OQ,12204
62
+ sqlobjects-1.2.2.data/data/share/sqlobjects/rules/06-validation-signals-guide.md,sha256=i9WLLhyCDoWGkIYqH2D_XLn98oMbF1pB3-L-b5gRbT4,14294
63
+ sqlobjects-1.2.2.data/data/share/sqlobjects/rules/07-performance-guide.md,sha256=rjR0DjT39poEBVaUxAzJBEaMaBrZKLVer1zXaNNYfxg,12851
64
+ sqlobjects-1.2.2.data/data/share/sqlobjects/rules/README.md,sha256=d2n5ZZT8LGvjL60u_HlzXn2uA8FwoCgqG3fuAhvMFvM,2280
65
+ sqlobjects-1.2.2.dist-info/licenses/LICENSE,sha256=ScFR7nvWIhar0d32Y-LA4vqp9zNmy1HSJia7UX7jU6c,1068
66
+ sqlobjects-1.2.2.dist-info/METADATA,sha256=JAP9CklPXcLpofaoeGWkSG_39s0d4EYYOGyVOVipk2M,13740
67
+ sqlobjects-1.2.2.dist-info/WHEEL,sha256=YCfwYGOYMi5Jhw2fU4yNgwErybb2IX5PEwBKV4ZbdBo,91
68
+ sqlobjects-1.2.2.dist-info/entry_points.txt,sha256=9Q3Ci55MawxkQhMlR_eLJui00_rYYIVO_Aq_Dm0u5MQ,76
69
+ sqlobjects-1.2.2.dist-info/top_level.txt,sha256=brO5vDtCpn4L9dpX0EHpehbu4kcHaK_2Bbnwze35YKc,11
70
+ sqlobjects-1.2.2.dist-info/RECORD,,