Skip to content

Commit ab5eb96

Browse files
committed
清楚未使用代码
1 parent e48a245 commit ab5eb96

File tree

5 files changed

+34
-30
lines changed

5 files changed

+34
-30
lines changed

fast_tmp/site/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -426,7 +426,7 @@ async def select_options(
426426
"""
427427
外键的枚举获取值以及多对多获取对象列表
428428
"""
429-
return await self.select_defs[name](request, pk, perPage, page, None)
429+
return await self.select_defs[name](request, pk, perPage, page, None) # todo: 增加select的搜索功能
430430

431431
async def check_perm(self, request: Request, codename: str):
432432
user = request.user

fast_tmp/site/field.py

Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -262,7 +262,7 @@ async def get_selects(
262262
pk: Optional[str],
263263
perPage: Optional[int],
264264
page: Optional[int],
265-
filter: Any = None,
265+
filter: Any = None, # todo 考虑支持页面选项搜索
266266
) -> List[dict]:
267267
"""
268268
多对多或多对一的时候,用于选择项的读取
@@ -281,22 +281,22 @@ async def get_selects(
281281
filter: Any = None,
282282
):
283283
field_model_all = self._field.related_model.all() # type: ignore
284-
if filter:
285-
if isinstance(filter, dict):
286-
field_model_all = self._field.related_model.filter(**filter) # type: ignore
287-
else:
288-
field_model_all = self._field.related_model.filter(filter) # type: ignore
289-
if perPage is not None and page is not None:
290-
field_model = field_model_all.limit(perPage).offset((page - 1) * perPage)
291-
count = await field_model_all.count()
292-
data = await field_model
293-
return ListDataWithPage(
294-
total=count,
295-
items=[{"value": i.pk, "label": str(i)} for i in data],
296-
)
297-
else:
298-
data = await field_model_all
299-
return {"options": [{"value": i.pk, "label": str(i)} for i in data]}
284+
# if filter:
285+
# if isinstance(filter, dict):
286+
# field_model_all = self._field.related_model.filter(**filter) # type: ignore
287+
# else:
288+
# field_model_all = self._field.related_model.filter(filter) # type: ignore
289+
# if perPage is not None and page is not None:
290+
# field_model = field_model_all.limit(perPage).offset((page - 1) * perPage)
291+
# count = await field_model_all.count()
292+
# data = await field_model
293+
# return ListDataWithPage(
294+
# total=count,
295+
# items=[{"value": i.pk, "label": str(i)} for i in data],
296+
# )
297+
# else:
298+
data = await field_model_all
299+
return {"options": [{"value": i.pk, "label": str(i)} for i in data]}
300300

301301
def prefetch(self) -> Optional[str]:
302302
return "select"
@@ -360,7 +360,7 @@ def get_column(self, request: Request) -> Column:
360360
title=self.label,
361361
body=CRUD(
362362
api="get:"
363-
+ self._field.model.__name__ # type: ignore
363+
+ self._field.model.__name__.lower() # type: ignore
364364
+ f"/select/{self.name}?pk=$pk",
365365
columns=[
366366
Column(label="主键", name="pk"),
@@ -386,11 +386,11 @@ async def get_selects(
386386
queryset = related_model.filter(**{self._field.related_name: pk}) # type: ignore
387387
else:
388388
queryset = related_model.all()
389-
if filter:
390-
if isinstance(filter, dict):
391-
queryset = queryset.filter(**filter)
392-
else:
393-
queryset = queryset(filter)
389+
# if filter:
390+
# if isinstance(filter, dict):
391+
# queryset = queryset.filter(**filter)
392+
# else:
393+
# queryset = queryset(filter)
394394
if pk is not None:
395395
count = await queryset.count()
396396
data = await queryset

task.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
13. 增加token解析的更新时间,这样可以检查密码是否过期(根据用户的更新时间和生成token的时间进行比较而判断)
1616
14. 测试字段报错检查
1717
15. 对时间类,如果是auto_now_add为true是否要必填?
18+
16. 对外键和多对多的control需要支持搜索和过滤功能
1819

1920
# admin管理页面缺少功能
2021

tests/test_field.py

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -31,12 +31,8 @@ async def test_dec(self):
3131

3232

3333
class TestIntEnumControl(BaseSite):
34-
async def test_intenum(self):
34+
async def test_select(self):
3535
await self.login()
36-
response = await self.client.get("/admin/intenumfield/schema")
37-
assert response.status_code == 200
38-
data = response.json()
39-
assert data["status"] == 0
4036
# 写入一个测试用的外键
4137
await For(name="xx").save()
4238
foreign_data = (await self.client.get("/admin/intenumfield/select/foreignkey_1")).json()
@@ -46,6 +42,13 @@ async def test_intenum(self):
4642
)
4743
# self.assertEqual()
4844

45+
async def test_intenum(self):
46+
await self.login()
47+
response = await self.client.get("/admin/intenumfield/schema")
48+
assert response.status_code == 200
49+
data = response.json()
50+
assert data["status"] == 0
51+
4952
# 测试写入数据
5053
role_data = {
5154
"int_enum_2": "two",

tests/testmodels.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -192,4 +192,4 @@ class IntEnumField(Model):
192192
datetime_2 = fields.DatetimeField(default=datetime.datetime.now)
193193
datetime_3 = fields.DatetimeField(default=datetime.datetime.fromtimestamp(0))
194194
datetime_4 = fields.DatetimeField()
195-
foreignkey_1 = fields.ForeignKeyField("fast_tmp.For", null=True, related_name="foreignkey_1s")
195+
foreignkey_1 = fields.ForeignKeyField("fast_tmp.For", null=True, related_name="foreignkey_1s")

0 commit comments

Comments
 (0)