小编Ron*_*ney的帖子

Django模型方法或计算为数据库中的字段

使用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)

python django methods django-models calculated-field

7
推荐指数
2
解决办法
4186
查看次数

Django 模型中的对象总数

使用 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() …

python django django-templates django-models django-views

5
推荐指数
2
解决办法
1万
查看次数