码迷,mamicode.com
首页 > 其他好文 > 详细

django拓展用户proxy代理

时间:2019-11-04 19:16:31      阅读:63      评论:0      收藏:0      [点我收藏+]

标签:meta   views   用户   err   objects   username   one   get   for   


1.app0 1 /models.py里面定义User代理模型Person.

from django.db import models
from django.contrib.auth.models import User

class Person(User):
class Meta:
proxy = True

@classmethod
def get_blacklist(cls):
return cls.objects.all()

说明:

代理模型不能定义models模型字段,比如,Person里面加一个telephone字段
from django.contrib.auth.models import User

# Create your models here.
class Person(User):
telephone = models.CharField(max_length=11)
class Meta:
proxy = True

@classmethod
def get_blacklist(cls):
return cls.objects.all()

执行makemigrations会报错

"D:\Program Files\python3.6.7\python.exe" D : /pythonWorkspac e /untitled101 9 /manage.py makemigrations
SystemCheckError: System check identified some issues:

ERRORS:
?: (models.E017) Proxy model ‘Person‘ contains model fields.

Process finished with exit code 1

总结:

代理模型使用很有限,不能新增字段,只能自定义一些属性和方法



2.app0 1 /views.py视图调用代理模型person
from django.shortcuts import render, HttpResponse

from app01.models import Person


def test(request):
blacklist = Person.get_blacklist()
for person in blacklist:
print(person.username)
return HttpResponse("proxy")

技术图片

 

 





3、浏览器访问http :/ /127.0.0.1 :808 0 /tes t /后,打印结果如下:
System check identified no issues (0 silenced).
November 04, 2019 - 18 :30:43
Django version 2.
2.2, using settings ‘untitled1019.settings‘
Starting development server at http :/ /127.0.0.1 :808 0/
Quit the server with CTR L -BREAK.
zhiliao
zhiliao2

django拓展用户proxy代理

标签:meta   views   用户   err   objects   username   one   get   for   

原文地址:https://www.cnblogs.com/harryTree/p/11794018.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!