brilliance-admin 0.43.0__py3-none-any.whl → 0.43.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.
@@ -139,6 +139,9 @@ class SQLAlchemyRelatedField(TableField):
139
139
  - value всегда scalar (None или int)
140
140
  - ORM-объект доступен через extra["record"]
141
141
  """
142
+ if not value:
143
+ return
144
+
142
145
  record = extra.get('record')
143
146
  if record is None:
144
147
  raise FieldError(f'Missing record in serialize context in value: {value}')
@@ -146,13 +149,13 @@ class SQLAlchemyRelatedField(TableField):
146
149
  if self.many:
147
150
  related = getattr(record, self.rel_name, None)
148
151
  if related is None:
149
- raise FieldError(f'Related field "{self.rel_name}" is missing on record {record} (many=True)')
152
+ raise FieldError(f'Related field "{self.rel_name}" is missing on record "{record}" (many=True)')
150
153
 
151
154
  return [{'key': get_pk(obj), 'title': str(obj)} for obj in related]
152
155
 
153
156
  related = getattr(record, self.rel_name, None)
154
157
  if related is None:
155
- raise FieldError(f'Related field "{self.rel_name}" is missing on record (many=False)')
158
+ raise FieldError(f'Related field "{self.rel_name}" is missing on record "{record}" (many=False)')
156
159
 
157
160
  return {'key': get_pk(related), 'title': str(related)}
158
161
 
@@ -126,6 +126,12 @@ class SQLAlchemyFieldsSchema(schema.FieldsSchema):
126
126
 
127
127
  # relationship-поля
128
128
  for rel in mapper.relationships:
129
+ # relationship, у которых есть локальные FK-колонки, не добавляем в схему,
130
+ # так как связь редактируется через scalar-поле (FK),
131
+ # а relationship используется только для ORM-навигации
132
+ if any(col.foreign_keys for col in rel.local_columns):
133
+ continue
134
+
129
135
  field_slug = rel.key
130
136
 
131
137
  field_data = {}
@@ -44,7 +44,7 @@ class AdminSettingsData(DataclassBase):
44
44
  @dataclass
45
45
  class AdminIndexContextData(DataclassBase):
46
46
  title: str
47
- favicon_image: str
47
+ favicon_image: str | None
48
48
  settings_json: str
49
49
 
50
50
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: brilliance-admin
3
- Version: 0.43.0
3
+ Version: 0.43.2
4
4
  Summary: Simple and lightweight admin panel framework powered by FastAPI and Vue3 Vuetify together.. Some call it heavenly in its brilliance.
5
5
  License-Expression: AGPL-3.0
6
6
  Requires-Python: >=3.10
@@ -19,8 +19,8 @@ brilliance_admin/integrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5N
19
19
  brilliance_admin/integrations/sqlalchemy/__init__.py,sha256=tIegMU2eIW_zA-PdblCXCjenHAY4sGBUWKuz97ns4gE,275
20
20
  brilliance_admin/integrations/sqlalchemy/auth.py,sha256=99O7zmhcKWB3cWGTbMd3OSyIJ81Vcfz7byDK6oLinm8,4910
21
21
  brilliance_admin/integrations/sqlalchemy/autocomplete.py,sha256=baRroMwGg35uR5zt-aiQc2-ugX4hpwNf79R6bZH9UX0,1416
22
- brilliance_admin/integrations/sqlalchemy/fields.py,sha256=AayeFmwKA5JooiCok7wPLJNSDQCiy5p-iQjrr9HMMSw,9412
23
- brilliance_admin/integrations/sqlalchemy/fields_schema.py,sha256=fZu7I77POvcUHBVc7i0yKGZcAzDumVGMpsbX7TMByo4,10914
22
+ brilliance_admin/integrations/sqlalchemy/fields.py,sha256=giVCIixwHz1iHFYHdi39_s4zo9cSZA_0CUoEAJRUGps,9467
23
+ brilliance_admin/integrations/sqlalchemy/fields_schema.py,sha256=RAF_Zxyr9VKodOjuoyLSSbEvZBQW-8iQagOuQHU3VSs,11336
24
24
  brilliance_admin/integrations/sqlalchemy/table/__init__.py,sha256=g_in2pLTi8UQnT5uNFA8mLW5mxlT84irQ7yVaP_OSS4,605
25
25
  brilliance_admin/integrations/sqlalchemy/table/base.py,sha256=nZzHk56NyhfTll9vX9j5zzA557mLdQ-u-GccTFXIFSs,4873
26
26
  brilliance_admin/integrations/sqlalchemy/table/create.py,sha256=z40PuKJYZ6goJdhsANVuEyTW1gh0PipCBdBSe5Ii5Tw,2693
@@ -31,7 +31,7 @@ brilliance_admin/integrations/sqlalchemy/table/update.py,sha256=AGEEbEsgKre784Dg
31
31
  brilliance_admin/locales/en.yml,sha256=lCM58SoP4HExXFCTHpl8pYw82tH_8TvlrcCXZDXYb5c,1129
32
32
  brilliance_admin/locales/ru.yml,sha256=hXZwS71Z_aAyK9DB14pwmbtLI5xn6PvsnuLIZlEexbM,1661
33
33
  brilliance_admin/schema/__init__.py,sha256=X-izShvv84jkFU47WfpUwtvRh3NOv570iUB3NRNEIDU,248
34
- brilliance_admin/schema/admin_schema.py,sha256=T_U5F_bXleYdRGubSOiFg0oscz6H03TEGYsDCQyerUA,6386
34
+ brilliance_admin/schema/admin_schema.py,sha256=fKVtaLkFkDF8ZkjIftackZ4rfCDcqLvci8PO6ZLycgc,6393
35
35
  brilliance_admin/schema/category.py,sha256=Y2DuDmSve_-Lnx3zOQlbVcslywJhcwV49z1bOhSKIGs,4105
36
36
  brilliance_admin/schema/group.py,sha256=Gdz3ME_EfQP_CFPou6OOJZWGWXKIYgB3zNX_oWsClwE,2240
37
37
  brilliance_admin/schema/graphs/__init__.py,sha256=qvmZv9QWdiutPtN5VYQLYbsjY2SOg8p_XRaz2rUlIxY,44
@@ -67,8 +67,8 @@ brilliance_admin/static/tinymce/plugins/codesample/css/prism.css,sha256=exAdMtHb
67
67
  brilliance_admin/static/tinymce/plugins/customLink/plugin.js,sha256=illBNpnHDkBsLG6wo_jDPF6z7CGnO1MQWUoDwZKy6vQ,5589
68
68
  brilliance_admin/static/tinymce/plugins/customLink/css/link.css,sha256=gh5nvY8Z92hJfCEBPnIm4jIPCcKKbJnab-30oIfX7Hc,56
69
69
  brilliance_admin/templates/index.html,sha256=ZLJ_TKUvBDIo_hYfbW43ov0S_bFrzBF-283XP6BKtDI,1294
70
- brilliance_admin-0.43.0.dist-info/licenses/LICENSE,sha256=PjeDRXGbVLtKul5Xpfco_6CyB6bYGWVVPrO0oubquuM,727
71
- brilliance_admin-0.43.0.dist-info/METADATA,sha256=LP57RlbaXiFnUzE15A5I9amlEAQqAXaAjlgkgyEa8OQ,7459
72
- brilliance_admin-0.43.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
73
- brilliance_admin-0.43.0.dist-info/top_level.txt,sha256=almFFSWrVYieI3i54hYL0fMUaeuIYiazS2Kx4wtK-ns,17
74
- brilliance_admin-0.43.0.dist-info/RECORD,,
70
+ brilliance_admin-0.43.2.dist-info/licenses/LICENSE,sha256=PjeDRXGbVLtKul5Xpfco_6CyB6bYGWVVPrO0oubquuM,727
71
+ brilliance_admin-0.43.2.dist-info/METADATA,sha256=paeY5NScKcNnz3LSReK8DHBpY91-sHGcdlDGPGZ0CIk,7459
72
+ brilliance_admin-0.43.2.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
73
+ brilliance_admin-0.43.2.dist-info/top_level.txt,sha256=almFFSWrVYieI3i54hYL0fMUaeuIYiazS2Kx4wtK-ns,17
74
+ brilliance_admin-0.43.2.dist-info/RECORD,,