사용자 정의 관리자

3216 단어 python-django
django 사용자 정의 관리자를 실현합니다.필터 조건 조회에 사용할 때 코드는 다음과 같습니다: 모델.py
# -*- coding: utf-8 -*-
from __future__ import unicode_literals

from django.db import models


# Create your models here.
class TodoQuerySet(models.QuerySet):
    def incomplete(self):
        return self.filter(is_done=False)

    def heigh(self):
        return self.filter(priority=1)


class NewTodoManager(models.Manager):
    def get_queryset(self):
        return TodoQuerySet(self.model, using=self._db)


class Todo(models.Model):
    content = models.CharField(max_length=250)
    is_done = models.BooleanField(default=False)
    priority = models.IntegerField(default=1)

    objects = NewTodoManager()

views.py
# -*- coding: utf-8 -*-
from __future__ import unicode_literals

from django.shortcuts import render
from django.http import JsonResponse, HttpResponse
from poem.models import Todo
import json


# Create your views here.
def get_todo(request):
    heigh_list = Todo.objects.all().heigh()
    return_data = []
    for heigh in heigh_list:
        a_dict = {
            'id': heigh.id,
            'content': heigh.content
        }
        return_data.append(a_dict)
    return HttpResponse(json.dumps(return_data))

좋은 웹페이지 즐겨찾기