使用Django~ = 1.11和Python 3.6
我需要将"计算"变量存储为Django模型数据库中的字段.
这是一个模型:
from django.db import models
from datetime import date
class Person(model.Model)
"Last Name"
last_name = models.CharField(max_length=25)
"Birthday"
birth_date = models.DateField()
"City of birth"
city_of_birth = models.CharField(max_length=25)
Run Code Online (Sandbox Code Playgroud)
我正在使用这些字段创建唯一ID.具体来说,我将每个字段的部分组合成一个字符串变量(详情如下).我能够将其作为属性工作,但我不知道如何在数据库中存储计算字段.
"Unique ID"
def get_id(self):
a = self.last_name[:2].upper() #First 2 letters of last name
b = self.birth_date.strftime('%d') #Day of the month as string
c = self.city_of_birth[:2].upper() #First 2 letters of city
return a + b + c
unique_id = property(get_id)
Run Code Online (Sandbox Code Playgroud)
我想和Age做类似的事情.这是我的计算结果:
"Age calculated from Birth Date"
def get_age(self):
return …Run Code Online (Sandbox Code Playgroud) 使用 Django ~=1.11 和 Python 3.6
我是初学者!我在网上为我的问题找到的每个答案都比我正在寻找的更高级。
这是我的模型:
class Byte(models.Model):
text = models.CharField(max_length=30)
def __str__(self):
return self.text
Run Code Online (Sandbox Code Playgroud)
这是我的观点:
def byte_list(request):
bytes = Byte.objects.order_by('text')
return render(request, 'cloudapp/byte_list.html', {'bytes': bytes})
Run Code Online (Sandbox Code Playgroud)
这是我的模板:
{% block content %}
<div class="total">
<h2>Total number of words and phrases entered: {{ byte.count }}</h2>
</div>
<hr>
{% for byte in bytes %}
<div class="byte">
<h2>{{ byte.text }}</h2>
</div>
{% endfor %}
{% endblock %}
Run Code Online (Sandbox Code Playgroud)
这允许在 /admin 中创建“Byte”对象,只有一个字段 - 一个小文本字段。现在,模板只显示所有创建的对象的列表。
问题/问题:我想显示为 Byte 模型创建的对象总数/计数。在模板中,我有一个标签 {{ byte.count }} 来显示它。
我试过使用 count() …