How can I get value from class django.db.models.fields.IntegerField? I want get 1 from admin field. This is python code: model class and function view
JavaScript
x
22
22
1
from django.db import models
2
from django.db import connection
3
import pymysql
4
5
# Create your models here.
6
7
class Users(models.Model):
8
def __init__(self,*args, **kwargs):
9
super().__init__(*args, **kwargs)
10
self.firstname=models.CharField(max_length=100)
11
self.lastname=models.CharField(max_length=100)
12
self.username=models.CharField(max_length=50)
13
self.password=models.CharField(max_length=255)
14
self.admin=models.IntegerField()
15
self.createdAt=models.DateTimeField(db_column="created_at")
16
17
def getAdmin(self):
18
return self.admin
19
20
class Meta:
21
db_table = 'users'
22
A view function when I run user = Users.objects.get(id=userId)
JavaScript
1
17
17
1
def home(request):
2
#controllo se sei loggato
3
if request.session.has_key('loggedin'):
4
if request.session['loggedin'] != True:
5
return redirect("login")
6
else:
7
return redirect("login")
8
9
#l'utente è loggato recupero le informazioni
10
userId = int(request.session['id'])
11
user = Users.objects.get(id=userId)
12
print(type(user))
13
print(type(user.getAdmin()))
14
tmplVar = {}
15
tmplVar["admin"] = user.admin
16
return render(request, 'pygiustizia/home.html',{'tmplVar': tmplVar})
17
Advertisement
Answer
I presume, you want the value of admin. From my understanding what you can do is you can use filter method on you object inside your Users
model. As you have intialized the model fields inside the __init__
method, that I am sure is not a good practice, but based on your requirement here you can do:
JavaScript
1
20
20
1
from django.db import models
2
3
# Create your models here.
4
5
class Users(models.Model):
6
def __init__(self,*args, **kwargs):
7
super().__init__(*args, **kwargs)
8
self.firstname=models.CharField(max_length=100)
9
self.lastname=models.CharField(max_length=100)
10
self.username=models.CharField(max_length=50)
11
self.password=models.CharField(max_length=255)
12
self.admin=models.IntegerField()
13
self.createdAt=models.DateTimeField(db_column="created_at")
14
15
def getAdmin(self):
16
return self.objects.get(admin=self.admin)
17
18
class Meta:
19
db_table = 'users'
20
Then you can replace your line user = Users.objects.get(id=userId)
with
user = User(userId)
I hope this is what you are looking for!