fastadmin 0.3.0__tar.gz → 0.3.2__tar.gz

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.
Files changed (50) hide show
  1. {fastadmin-0.3.0 → fastadmin-0.3.2}/PKG-INFO +1 -1
  2. {fastadmin-0.3.0 → fastadmin-0.3.2}/fastadmin/models/orms/sqlalchemy.py +8 -5
  3. fastadmin-0.3.2/fastadmin/static/assets/worker-C9KPOOKD.js +9 -0
  4. {fastadmin-0.3.0 → fastadmin-0.3.2}/fastadmin/static/index.min.css +1 -7
  5. fastadmin-0.3.2/fastadmin/static/index.min.js +680 -0
  6. {fastadmin-0.3.0 → fastadmin-0.3.2}/pyproject.toml +1 -1
  7. fastadmin-0.3.0/fastadmin/static/index.min.js +0 -901
  8. {fastadmin-0.3.0 → fastadmin-0.3.2}/LICENSE +0 -0
  9. {fastadmin-0.3.0 → fastadmin-0.3.2}/README.md +0 -0
  10. {fastadmin-0.3.0 → fastadmin-0.3.2}/fastadmin/__init__.py +0 -0
  11. {fastadmin-0.3.0 → fastadmin-0.3.2}/fastadmin/api/__init__.py +0 -0
  12. {fastadmin-0.3.0 → fastadmin-0.3.2}/fastadmin/api/exceptions.py +0 -0
  13. {fastadmin-0.3.0 → fastadmin-0.3.2}/fastadmin/api/frameworks/__init__.py +0 -0
  14. {fastadmin-0.3.0 → fastadmin-0.3.2}/fastadmin/api/frameworks/django/__init__.py +0 -0
  15. {fastadmin-0.3.0 → fastadmin-0.3.2}/fastadmin/api/frameworks/django/app/__init__.py +0 -0
  16. {fastadmin-0.3.0 → fastadmin-0.3.2}/fastadmin/api/frameworks/django/app/api.py +0 -0
  17. {fastadmin-0.3.0 → fastadmin-0.3.2}/fastadmin/api/frameworks/django/app/urls.py +0 -0
  18. {fastadmin-0.3.0 → fastadmin-0.3.2}/fastadmin/api/frameworks/django/app/views.py +0 -0
  19. {fastadmin-0.3.0 → fastadmin-0.3.2}/fastadmin/api/frameworks/fastapi/__init__.py +0 -0
  20. {fastadmin-0.3.0 → fastadmin-0.3.2}/fastadmin/api/frameworks/fastapi/api.py +0 -0
  21. {fastadmin-0.3.0 → fastadmin-0.3.2}/fastadmin/api/frameworks/fastapi/app.py +0 -0
  22. {fastadmin-0.3.0 → fastadmin-0.3.2}/fastadmin/api/frameworks/fastapi/views.py +0 -0
  23. {fastadmin-0.3.0 → fastadmin-0.3.2}/fastadmin/api/frameworks/flask/__init__.py +0 -0
  24. {fastadmin-0.3.0 → fastadmin-0.3.2}/fastadmin/api/frameworks/flask/api.py +0 -0
  25. {fastadmin-0.3.0 → fastadmin-0.3.2}/fastadmin/api/frameworks/flask/app.py +0 -0
  26. {fastadmin-0.3.0 → fastadmin-0.3.2}/fastadmin/api/frameworks/flask/views.py +0 -0
  27. {fastadmin-0.3.0 → fastadmin-0.3.2}/fastadmin/api/helpers.py +0 -0
  28. {fastadmin-0.3.0 → fastadmin-0.3.2}/fastadmin/api/schemas.py +0 -0
  29. {fastadmin-0.3.0 → fastadmin-0.3.2}/fastadmin/api/service.py +0 -0
  30. {fastadmin-0.3.0 → fastadmin-0.3.2}/fastadmin/models/__init__.py +0 -0
  31. {fastadmin-0.3.0 → fastadmin-0.3.2}/fastadmin/models/base.py +0 -0
  32. {fastadmin-0.3.0 → fastadmin-0.3.2}/fastadmin/models/decorators.py +0 -0
  33. {fastadmin-0.3.0 → fastadmin-0.3.2}/fastadmin/models/helpers.py +0 -0
  34. {fastadmin-0.3.0 → fastadmin-0.3.2}/fastadmin/models/orms/__init__.py +0 -0
  35. {fastadmin-0.3.0 → fastadmin-0.3.2}/fastadmin/models/orms/django.py +0 -0
  36. {fastadmin-0.3.0 → fastadmin-0.3.2}/fastadmin/models/orms/ponyorm.py +0 -0
  37. {fastadmin-0.3.0 → fastadmin-0.3.2}/fastadmin/models/orms/tortoise.py +0 -0
  38. {fastadmin-0.3.0 → fastadmin-0.3.2}/fastadmin/models/schemas.py +0 -0
  39. {fastadmin-0.3.0 → fastadmin-0.3.2}/fastadmin/settings.py +0 -0
  40. {fastadmin-0.3.0 → fastadmin-0.3.2}/fastadmin/static/assets/worker-6Z7niv9l.js +0 -0
  41. {fastadmin-0.3.0 → fastadmin-0.3.2}/fastadmin/static/assets/worker-C151k0-L.js +0 -0
  42. {fastadmin-0.3.0 → fastadmin-0.3.2}/fastadmin/static/assets/worker-D1fCgYB7.js +0 -0
  43. {fastadmin-0.3.0 → fastadmin-0.3.2}/fastadmin/static/assets/worker-D3TWcJOI.js +0 -0
  44. {fastadmin-0.3.0 → fastadmin-0.3.2}/fastadmin/static/assets/worker-DRNcaZ-V.js +0 -0
  45. {fastadmin-0.3.0 → fastadmin-0.3.2}/fastadmin/static/assets/worker-MF2p-l5_.js +0 -0
  46. {fastadmin-0.3.0 → fastadmin-0.3.2}/fastadmin/static/images/favicon.png +0 -0
  47. {fastadmin-0.3.0 → fastadmin-0.3.2}/fastadmin/static/images/header-logo.svg +0 -0
  48. {fastadmin-0.3.0 → fastadmin-0.3.2}/fastadmin/static/images/sign-in-logo.svg +0 -0
  49. {fastadmin-0.3.0 → fastadmin-0.3.2}/fastadmin/static/index.html +0 -0
  50. {fastadmin-0.3.0 → fastadmin-0.3.2}/fastadmin/templates/index.html +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fastadmin
3
- Version: 0.3.0
3
+ Version: 0.3.2
4
4
  Summary: FastAdmin is an easy-to-use Admin Dashboard App for FastAPI/Flask/Django inspired by Django Admin.
5
5
  License: MIT
6
6
  License-File: LICENSE
@@ -70,11 +70,14 @@ class SqlAlchemyMixin:
70
70
  is_immutable = (
71
71
  is_pk or bool(getattr(orm_model_field, "onupdate", None))
72
72
  ) and field_name not in self.readonly_fields
73
- required = (
74
- not getattr(orm_model_field, "nullable", False)
75
- and not getattr(orm_model_field, "default", False)
76
- and not is_m2m
77
- )
73
+ # For columns, use the column's nullable; for relationships (MANYTOONE/ONETOONE),
74
+ # the relationship object has no nullable — use the underlying FK column's nullable.
75
+ nullable = getattr(orm_model_field, "nullable", False)
76
+ if field_type in ("ONETOONE", "MANYTOONE"):
77
+ fk_column = next((c for c in mapper.c if c.key == column_name), None)
78
+ if fk_column is not None:
79
+ nullable = getattr(fk_column, "nullable", False)
80
+ required = not nullable and not getattr(orm_model_field, "default", False) and not is_m2m
78
81
  choices = (
79
82
  orm_model_field.type._object_lookup
80
83
  if hasattr(orm_model_field, "type") and hasattr(orm_model_field.type, "_object_lookup")