From 3b1f502eb2c40a7de27b4e82571d7d9b1db46c37 Mon Sep 17 00:00:00 2001 From: ScriptHound Date: Sat, 6 Feb 2021 22:38:44 +0300 Subject: [PATCH] changed id appearance --- djparser/templates/index.html | 3 --- main/models.py | 6 +++++- main/queries.py | 14 ++++++++++---- main/views.py | 3 ++- 4 files changed, 17 insertions(+), 9 deletions(-) diff --git a/djparser/templates/index.html b/djparser/templates/index.html index 66434b3..f2d90e6 100644 --- a/djparser/templates/index.html +++ b/djparser/templates/index.html @@ -10,9 +10,6 @@
Task status is: {{ status }}
-
- PID is: {{ pid }} -
{% endblock %}

diff --git a/main/models.py b/main/models.py index 098cb81..6755eb5 100644 --- a/main/models.py +++ b/main/models.py @@ -10,4 +10,8 @@ class ResultIdModel(models.Model): class ResultRow(models.Model): name = models.CharField(max_length=200) value = models.CharField(max_length=200) - parent_id = models.ForeignKey(ResultIdModel, on_delete=models.CASCADE) + parent_id = models.ForeignKey( + ResultIdModel, + on_delete=models.CASCADE, + related_name="parent" + ) diff --git a/main/queries.py b/main/queries.py index 7ac74fe..4decd90 100644 --- a/main/queries.py +++ b/main/queries.py @@ -10,22 +10,28 @@ def create(pid: str) -> QueryDict: @staticmethod def get_all_pids() -> list: - return [model.pid for model in ResultIdModel.objects.all()] + return ResultIdModel.objects.values_list('id', flat=True) + + @staticmethod + def get_db_pid_by_id(id: str) -> str: + return ResultIdModel.objects.get(id=id).pid @staticmethod def delete(pid: str) -> dict: - return ResultIdModel.objects.filter(pid=pid).delete() + return ResultIdModel.objects.filter(id=pid).delete() class ResultRowQuery: @staticmethod def create(pid: ResultIdModel, **rows) -> None: + results: list = [] for k, v in rows.items(): - ResultRow.objects.create(parent_id=pid, name=k, value=v) + results.append(ResultRow(parent_id=pid, name=k, value=v)) + ResultRow.objects.bulk_create(results) @staticmethod def get_results_by_id(pid: str) -> QuerySet: - return ResultIdModel.objects.get(pid=pid).resultrow_set.all() + return ResultIdModel.objects.get(id=pid).parent.all() @staticmethod def delete(name: str) -> dict: diff --git a/main/views.py b/main/views.py index e51c268..bed2b93 100644 --- a/main/views.py +++ b/main/views.py @@ -14,6 +14,7 @@ def parse_task(url: str) -> str: def index(request): print(request.GET) + context = { 'status': request.GET.get('status'), 'pid': request.GET.get('pid'), @@ -39,7 +40,7 @@ def parse(request): if request.method == 'GET': pid = request.GET.get('pid') - result = app.AsyncResult(pid).result + result = app.AsyncResult(PIDQuery.get_db_pid_by_id(pid)).result ResultRowQuery.create(result) context = {