Django 框架:从 django.db.models.fields.IntegerField 获取价值
django framework: get value from django.db.models.fields.IntegerField
如何从 class django.db.models.fields.IntegerField 中获取价值?
我想从管理领域得到 1。
这是 python 代码:模型 class 和函数视图
from django.db import models
from django.db import connection
import pymysql
# Create your models here.
class Users(models.Model):
def __init__(self,*args, **kwargs):
super().__init__(*args, **kwargs)
self.firstname=models.CharField(max_length=100)
self.lastname=models.CharField(max_length=100)
self.username=models.CharField(max_length=50)
self.password=models.CharField(max_length=255)
self.admin=models.IntegerField()
self.createdAt=models.DateTimeField(db_column="created_at")
def getAdmin(self):
return self.admin
class Meta:
db_table = 'users'
我运行user = Users.objects.get(id=userId)
时的一个查看函数
def home(request):
#controllo se sei loggato
if request.session.has_key('loggedin'):
if request.session['loggedin'] != True:
return redirect("login")
else:
return redirect("login")
#l'utente è loggato recupero le informazioni
userId = int(request.session['id'])
user = Users.objects.get(id=userId)
print(type(user))
print(type(user.getAdmin()))
tmplVar = {}
tmplVar["admin"] = user.admin
return render(request, 'pygiustizia/home.html',{'tmplVar': tmplVar})
你打印的是类型而不是值
print(type(user))
print(type(user.getAdmin()))
如果您尝试类似的操作:
print(user)
print(user.admin)
你应该在笔记上得到一些东西:
>> <object>
>> 1
除非您重新定义 __repr__
或 __str__
我想,您需要 admin 的值。根据我的理解,您可以对 Users
模型中的对象使用 filter 方法。由于您已经在 __init__
方法中初始化了模型字段,我确信这不是一个好的做法,但根据您的要求,您可以这样做:
from django.db import models
# Create your models here.
class Users(models.Model):
def __init__(self,*args, **kwargs):
super().__init__(*args, **kwargs)
self.firstname=models.CharField(max_length=100)
self.lastname=models.CharField(max_length=100)
self.username=models.CharField(max_length=50)
self.password=models.CharField(max_length=255)
self.admin=models.IntegerField()
self.createdAt=models.DateTimeField(db_column="created_at")
def getAdmin(self):
return self.objects.get(admin=self.admin)
class Meta:
db_table = 'users'
然后你可以替换你的行user = Users.objects.get(id=userId)
和
user = User(userId)
希望这就是您要找的!
如何从 class django.db.models.fields.IntegerField 中获取价值? 我想从管理领域得到 1。 这是 python 代码:模型 class 和函数视图
from django.db import models
from django.db import connection
import pymysql
# Create your models here.
class Users(models.Model):
def __init__(self,*args, **kwargs):
super().__init__(*args, **kwargs)
self.firstname=models.CharField(max_length=100)
self.lastname=models.CharField(max_length=100)
self.username=models.CharField(max_length=50)
self.password=models.CharField(max_length=255)
self.admin=models.IntegerField()
self.createdAt=models.DateTimeField(db_column="created_at")
def getAdmin(self):
return self.admin
class Meta:
db_table = 'users'
我运行user = Users.objects.get(id=userId)
def home(request):
#controllo se sei loggato
if request.session.has_key('loggedin'):
if request.session['loggedin'] != True:
return redirect("login")
else:
return redirect("login")
#l'utente è loggato recupero le informazioni
userId = int(request.session['id'])
user = Users.objects.get(id=userId)
print(type(user))
print(type(user.getAdmin()))
tmplVar = {}
tmplVar["admin"] = user.admin
return render(request, 'pygiustizia/home.html',{'tmplVar': tmplVar})
你打印的是类型而不是值
print(type(user))
print(type(user.getAdmin()))
如果您尝试类似的操作:
print(user)
print(user.admin)
你应该在笔记上得到一些东西:
>> <object>
>> 1
除非您重新定义 __repr__
或 __str__
我想,您需要 admin 的值。根据我的理解,您可以对 Users
模型中的对象使用 filter 方法。由于您已经在 __init__
方法中初始化了模型字段,我确信这不是一个好的做法,但根据您的要求,您可以这样做:
from django.db import models
# Create your models here.
class Users(models.Model):
def __init__(self,*args, **kwargs):
super().__init__(*args, **kwargs)
self.firstname=models.CharField(max_length=100)
self.lastname=models.CharField(max_length=100)
self.username=models.CharField(max_length=50)
self.password=models.CharField(max_length=255)
self.admin=models.IntegerField()
self.createdAt=models.DateTimeField(db_column="created_at")
def getAdmin(self):
return self.objects.get(admin=self.admin)
class Meta:
db_table = 'users'
然后你可以替换你的行user = Users.objects.get(id=userId)
和
user = User(userId)
希望这就是您要找的!