You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django项目中如何将多个CharField字段拼接为一句话显示

实现步骤

第一步:修改Userpost模型

首先移除模型中的title字段,建议同时新增一个只读属性自动拼接三个字段作为标题,后续模板、接口等处调用会更方便:

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

class Userpost(models.Model):
    user = models.ForeignKey(User, on_delete=models.CASCADE, null=True, blank=True)
    # 直接删除原来的title字段定义行
    Year = models.CharField(max_length = 4)
    Mileage = models.CharField(max_length = 8)
    Make = models.CharField(max_length = 50)
    Model = models.CharField(max_length = 50)
    Price = models.DecimalField(max_digits=15, decimal_places=2)
    email = models.EmailField()
    date_published = models.DateField(default = timezone.now)

    # 新增拼接标题的属性
    @property
    def display_title(self):
        return f"{self.Year} {self.Make} {self.Model}"

第二步:同步数据库结构

修改完模型后需要执行迁移更新数据库,在项目根目录依次执行两条命令:

  • python manage.py makemigrations
  • python manage.py migrate

提示:如果原有数据中title字段有需要保留的内容,请提前做好数据备份再执行迁移操作

第三步:修改模板渲染逻辑

把模板中原先渲染{{car.title}}的代码替换为新的标题即可,有两种可选写法:

  1. 调用我们在模型里加的属性,写法更简洁:
<h6><strong>{{car.display_title}}</strong></h6>
  1. 不想修改模型的话也可以直接在模板里拼接字段,效果完全一致:
<h6><strong>{{car.Year}} {{car.Make}} {{car.Model}}</strong></h6>

内容的提问来源于stack exchange,提问作者Gabriel Trezza

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 19:45:11