Skip to content

Commit

Permalink
Fix
Browse files Browse the repository at this point in the history
  • Loading branch information
vsdudakov committed Aug 21, 2024
1 parent 4fd83e9 commit b616c4e
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 13 deletions.
2 changes: 1 addition & 1 deletion docs/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<li class="social-icons-twitter"><a data-toggle="tooltip" href="" target="_blank" title="" data-original-title="Twitter"><i class="fab fa-twitter"></i></a></li>
<li class="social-icons-facebook"><a data-toggle="tooltip" href="" target="_blank" title="" data-original-title="Facebook"><i class="fab fa-facebook-f"></i></a></li>
<li class="social-icons-dribbble"><a data-toggle="tooltip" href="" target="_blank" title="" data-original-title="Dribbble"><i class="fab fa-dribbble"></i></a></li>
--> </ul> </div> </nav> </header> <div id=content role=main> <div class="app-navigation bg-light"> <ul class="nav flex-column"> <li class=nav-item> <a class=nav-link href=#introduction>Introduction</a> </li> <li class=nav-item> <a class=nav-link href=#getting_started>Getting Started</a> <ul class="nav flex-column"> <li class=nav-item> <a class=nav-link href=#installation>Installation</a> </li> <li class=nav-item> <a class=nav-link href=#quick_tutorial>Quick Tutorial</a> </li> </ul> </li> <li class=nav-item> <a class=nav-link href=#settings>Settings</a> </li> <li class=nav-item> <a class=nav-link href=#dashboard-widget-admins>Dashboard Widget Admins</a> <ul class="nav flex-column"> <li class=nav-item> <a class=nav-link href=#registering-widgets>Registering Widgets</a> </li> <li class=nav-item> <a class=nav-link href=#widget-methods-and-attributes>Methods and Attributes</a> </li> <li class=nav-item> <a class=nav-link href=#widget-chart-types>Chart Types</a> </li> </ul> </li> <li class=nav-item> <a class=nav-link href=#model-admins>Model Admins</a> <ul class="nav flex-column"> <li class=nav-item> <a class=nav-link href=#registering-models>Registering Models</a> </li> <li class=nav-item> <a class=nav-link href=#authentication>Authentication</a> </li> <li class=nav-item> <a class=nav-link href=#model-methods-and-attributes>Methods and Attributes</a> </li> <li class=nav-item> <a class=nav-link href=#model-form-field-types>Form Field Types</a> </li> </ul> </li> <li class=nav-item> <a class=nav-link href=#inline-admins>Inline Model Admins</a> <ul class="nav flex-column"> <li class=nav-item> <a class=nav-link href=#registering-inlines>Registering Inlines</a> </li> <li class=nav-item> <a class=nav-link href=#inline-methods-and-attributes>Methods and Attributes</a> </li> </ul> </li> <li class=nav-item> <a class=nav-link href=#changelog>Changelog</a> <ul class="nav flex-column"> <li class=nav-item> <a class=nav-link href=#v0_2_10>v0.2.10</a> </li> <li class=nav-item> <a class=nav-link href=#v0_2_9>v0.2.9</a> </li> <li class=nav-item> <a class=nav-link href=#v0_2_8>v0.2.8</a> </li> <li class=nav-item> <a class=nav-link href=#v0_2_7>v0.2.7</a> </li> <li class=nav-item> <a class=nav-link href=#v0_2_6>v0.2.6</a> </li> <li class=nav-item> <a class=nav-link href=#v0_2_5>v0.2.5</a> </li> <li class=nav-item> <a class=nav-link href=#v0_2_4>v0.2.4</a> </li> <li class=nav-item> <a class=nav-link href=#v0_2_3>v0.2.3</a> </li> <li class=nav-item> <a class=nav-link href=#v0_2_2>v0.2.2</a> </li> <li class=nav-item> <a class=nav-link href=#v0_2_1>v0.2.1</a> </li> <li class=nav-item> <a class=nav-link href=#v0_2_0>v0.2.0</a> </li> <li class=nav-item> <a class=nav-link href=#v0_1_41>v0.1.41</a> </li> <li class=nav-item> <a class=nav-link href=#v0_1_40>v0.1.40</a> </li> <li class=nav-item> <a class=nav-link href=#v0_1_39>v0.1.39</a> </li> <li class=nav-item> <a class=nav-link href=#v0_1_38>v0.1.38</a> </li> <li class=nav-item> <a class=nav-link href=#v0_1_37>v0.1.37</a> </li> <li class=nav-item> <a class=nav-link href=#v0_1_36>v0.1.36</a> </li> <li class=nav-item> <a class=nav-link href=#v0_1_35>v0.1.35</a> </li> <li class=nav-item> <a class=nav-link href=#v0_1_34>v0.1.34</a> </li> <li class=nav-item> <a class=nav-link href=#v0_1_33>v0.1.33</a> </li> <li class=nav-item> <a class=nav-link href=#v0_1_32>v0.1.32</a> </li> <li class=nav-item> <a class=nav-link href=#v0_1_31>v0.1.31</a> </li> </ul> </li> </ul> </div> <div class=app-content> <div class=container> <section id=index> <h1>FastAdmin | Documentation</h1> <div class=row> <div class="col-sm-6 col-lg-4"> <ul class=list-unstyled> <li><strong>Version:</strong> 0.2.10</li> <li> <strong>Author:</strong> <a href=mailto:vsdudakov@gmail.com target=_blank> Seva D. </a> </li> </ul> </div> <div class="col-sm-6 col-lg-4"> <ul class=list-unstyled> <li> <strong class=font-weight-700>Created:</strong> 7 March 2023 </li> <li> <strong>Updated:</strong> 14 August 2024 </li> </ul> </div> </div> </section> <hr class=divider> <section id=introduction> <h2>Introduction</h2> <p class=text-4> <a href=https://github.com/vsdudakov/fastadmin target=_blank>FastAdmin</a> is an easy-to-use Admin Dashboard App for FastAPI/Django/Flask inspired by Django Admin. </p> <p class=text-4> FastAdmin was built with relations in mind and admiration for the excellent and popular Django Admin. It's engraved in its design that you may configure your admin dashboard for FastAPI/Django/Flask easiest way. </p> <p class=text-4> FastAdmin is designed to be minimalistic, functional and yet familiar. </p> </section> <hr class=small-divider> <section id=getting_started> <h2>Getting Started</h2> <p class="alert alert-info"> If you have any questions that are beyond the scope of the documentation, Please feel free to email <a href=mailto:vsdudakov@gmail.com target=_blank>us</a>. </p> <section id=installation> <h3>Installation</h3> <p class=lead> Follow the steps below to setup FastAdmin: </p> <p class=text-4> Install the package using pip: </p> <p class="alert alert-info"> Note: For zsh and macos use: <code>pip install fastadmin[fastapi,django]</code> </p> <pre>
--> </ul> </div> </nav> </header> <div id=content role=main> <div class="app-navigation bg-light"> <ul class="nav flex-column"> <li class=nav-item> <a class=nav-link href=#introduction>Introduction</a> </li> <li class=nav-item> <a class=nav-link href=#getting_started>Getting Started</a> <ul class="nav flex-column"> <li class=nav-item> <a class=nav-link href=#installation>Installation</a> </li> <li class=nav-item> <a class=nav-link href=#quick_tutorial>Quick Tutorial</a> </li> </ul> </li> <li class=nav-item> <a class=nav-link href=#settings>Settings</a> </li> <li class=nav-item> <a class=nav-link href=#dashboard-widget-admins>Dashboard Widget Admins</a> <ul class="nav flex-column"> <li class=nav-item> <a class=nav-link href=#registering-widgets>Registering Widgets</a> </li> <li class=nav-item> <a class=nav-link href=#widget-methods-and-attributes>Methods and Attributes</a> </li> <li class=nav-item> <a class=nav-link href=#widget-chart-types>Chart Types</a> </li> </ul> </li> <li class=nav-item> <a class=nav-link href=#model-admins>Model Admins</a> <ul class="nav flex-column"> <li class=nav-item> <a class=nav-link href=#registering-models>Registering Models</a> </li> <li class=nav-item> <a class=nav-link href=#authentication>Authentication</a> </li> <li class=nav-item> <a class=nav-link href=#model-methods-and-attributes>Methods and Attributes</a> </li> <li class=nav-item> <a class=nav-link href=#model-form-field-types>Form Field Types</a> </li> </ul> </li> <li class=nav-item> <a class=nav-link href=#inline-admins>Inline Model Admins</a> <ul class="nav flex-column"> <li class=nav-item> <a class=nav-link href=#registering-inlines>Registering Inlines</a> </li> <li class=nav-item> <a class=nav-link href=#inline-methods-and-attributes>Methods and Attributes</a> </li> </ul> </li> <li class=nav-item> <a class=nav-link href=#changelog>Changelog</a> <ul class="nav flex-column"> <li class=nav-item> <a class=nav-link href=#v0_2_10>v0.2.10</a> </li> <li class=nav-item> <a class=nav-link href=#v0_2_9>v0.2.9</a> </li> <li class=nav-item> <a class=nav-link href=#v0_2_8>v0.2.8</a> </li> <li class=nav-item> <a class=nav-link href=#v0_2_7>v0.2.7</a> </li> <li class=nav-item> <a class=nav-link href=#v0_2_6>v0.2.6</a> </li> <li class=nav-item> <a class=nav-link href=#v0_2_5>v0.2.5</a> </li> <li class=nav-item> <a class=nav-link href=#v0_2_4>v0.2.4</a> </li> <li class=nav-item> <a class=nav-link href=#v0_2_3>v0.2.3</a> </li> <li class=nav-item> <a class=nav-link href=#v0_2_2>v0.2.2</a> </li> <li class=nav-item> <a class=nav-link href=#v0_2_1>v0.2.1</a> </li> <li class=nav-item> <a class=nav-link href=#v0_2_0>v0.2.0</a> </li> <li class=nav-item> <a class=nav-link href=#v0_1_41>v0.1.41</a> </li> <li class=nav-item> <a class=nav-link href=#v0_1_40>v0.1.40</a> </li> <li class=nav-item> <a class=nav-link href=#v0_1_39>v0.1.39</a> </li> <li class=nav-item> <a class=nav-link href=#v0_1_38>v0.1.38</a> </li> <li class=nav-item> <a class=nav-link href=#v0_1_37>v0.1.37</a> </li> <li class=nav-item> <a class=nav-link href=#v0_1_36>v0.1.36</a> </li> <li class=nav-item> <a class=nav-link href=#v0_1_35>v0.1.35</a> </li> <li class=nav-item> <a class=nav-link href=#v0_1_34>v0.1.34</a> </li> <li class=nav-item> <a class=nav-link href=#v0_1_33>v0.1.33</a> </li> <li class=nav-item> <a class=nav-link href=#v0_1_32>v0.1.32</a> </li> <li class=nav-item> <a class=nav-link href=#v0_1_31>v0.1.31</a> </li> </ul> </li> </ul> </div> <div class=app-content> <div class=container> <section id=index> <h1>FastAdmin | Documentation</h1> <div class=row> <div class="col-sm-6 col-lg-4"> <ul class=list-unstyled> <li><strong>Version:</strong> 0.2.10</li> <li> <strong>Author:</strong> <a href=mailto:vsdudakov@gmail.com target=_blank> Seva D. </a> </li> </ul> </div> <div class="col-sm-6 col-lg-4"> <ul class=list-unstyled> <li> <strong class=font-weight-700>Created:</strong> 7 March 2023 </li> <li> <strong>Updated:</strong> 21 August 2024 </li> </ul> </div> </div> </section> <hr class=divider> <section id=introduction> <h2>Introduction</h2> <p class=text-4> <a href=https://github.com/vsdudakov/fastadmin target=_blank>FastAdmin</a> is an easy-to-use Admin Dashboard App for FastAPI/Django/Flask inspired by Django Admin. </p> <p class=text-4> FastAdmin was built with relations in mind and admiration for the excellent and popular Django Admin. It's engraved in its design that you may configure your admin dashboard for FastAPI/Django/Flask easiest way. </p> <p class=text-4> FastAdmin is designed to be minimalistic, functional and yet familiar. </p> </section> <hr class=small-divider> <section id=getting_started> <h2>Getting Started</h2> <p class="alert alert-info"> If you have any questions that are beyond the scope of the documentation, Please feel free to email <a href=mailto:vsdudakov@gmail.com target=_blank>us</a>. </p> <section id=installation> <h3>Installation</h3> <p class=lead> Follow the steps below to setup FastAdmin: </p> <p class=text-4> Install the package using pip: </p> <p class="alert alert-info"> Note: For zsh and macos use: <code>pip install fastadmin[fastapi,django]</code> </p> <pre>
<code class=language-bash>

pip install fastadmin[fastapi,django] # for fastapi with django orm
Expand Down
24 changes: 12 additions & 12 deletions fastadmin/models/orms/ponyorm.py
Original file line number Diff line number Diff line change
Expand Up @@ -328,10 +328,12 @@ def orm_delete_obj(self, id: UUID | int) -> None:
:params id: an id of object.
:return: None.
"""
# TODO: fix me
# delete(o for o in self.model_cls if getattr(o, self.get_model_pk_name(self.model_cls)) == id)
# flush()
# commit()
obj = next((i for i in self.model_cls.select(**{self.get_model_pk_name(self.model_cls): id})), None)
if not obj:
return
obj.delete()
flush()
commit()

@sync_to_async
@db_session
Expand Down Expand Up @@ -366,14 +368,12 @@ def orm_save_m2m_ids(self, obj: Any, field: str, ids: list[int | UUID]) -> None:
obj = next((i for i in self.model_cls.select(**{key_id: getattr(obj, key_id)})), None)
if not obj:
return
# TODO: fix me
# if ids:
# rel_model_cls = getattr(self.model_cls, field).py_type
# rel_key_id = self.get_model_pk_name(rel_model_cls)
# rel_objs = list(rel_model_cls.select(lambda o: getattr(o, rel_key_id) in ids))
# getattr(obj, field).clear()
# for rel_obj in rel_objs:
# getattr(obj, field).add(rel_obj)
getattr(obj, field).clear()
if ids:
rel_model_cls = getattr(self.model_cls, field).py_type
rel_key_id = self.get_model_pk_name(rel_model_cls)
rel_objs = list(rel_model_cls.select(lambda o: getattr(o, rel_key_id) in ids))
getattr(obj, field).add(rel_objs)
flush()
commit()

Expand Down

0 comments on commit b616c4e

Please sign in to comment.