Skip to content

Commit b616c4e

Browse files
committed
Fix
1 parent 4fd83e9 commit b616c4e

2 files changed

Lines changed: 13 additions & 13 deletions

File tree

docs/index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<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>
33
<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>
44
<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>
5-
--> </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:[email protected] 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:[email protected] 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>
5+
--> </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:[email protected] 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:[email protected] 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>
66
<code class=language-bash>
77

88
pip install fastadmin[fastapi,django] # for fastapi with django orm

fastadmin/models/orms/ponyorm.py

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -328,10 +328,12 @@ def orm_delete_obj(self, id: UUID | int) -> None:
328328
:params id: an id of object.
329329
:return: None.
330330
"""
331-
# TODO: fix me
332-
# delete(o for o in self.model_cls if getattr(o, self.get_model_pk_name(self.model_cls)) == id)
333-
# flush()
334-
# commit()
331+
obj = next((i for i in self.model_cls.select(**{self.get_model_pk_name(self.model_cls): id})), None)
332+
if not obj:
333+
return
334+
obj.delete()
335+
flush()
336+
commit()
335337

336338
@sync_to_async
337339
@db_session
@@ -366,14 +368,12 @@ def orm_save_m2m_ids(self, obj: Any, field: str, ids: list[int | UUID]) -> None:
366368
obj = next((i for i in self.model_cls.select(**{key_id: getattr(obj, key_id)})), None)
367369
if not obj:
368370
return
369-
# TODO: fix me
370-
# if ids:
371-
# rel_model_cls = getattr(self.model_cls, field).py_type
372-
# rel_key_id = self.get_model_pk_name(rel_model_cls)
373-
# rel_objs = list(rel_model_cls.select(lambda o: getattr(o, rel_key_id) in ids))
374-
# getattr(obj, field).clear()
375-
# for rel_obj in rel_objs:
376-
# getattr(obj, field).add(rel_obj)
371+
getattr(obj, field).clear()
372+
if ids:
373+
rel_model_cls = getattr(self.model_cls, field).py_type
374+
rel_key_id = self.get_model_pk_name(rel_model_cls)
375+
rel_objs = list(rel_model_cls.select(lambda o: getattr(o, rel_key_id) in ids))
376+
getattr(obj, field).add(rel_objs)
377377
flush()
378378
commit()
379379

0 commit comments

Comments
 (0)