class Car(models.Model):
stockid = models.AutoField(primary_key=True)
galleryIndex = models.IntegerField()
title = make + model + year
make = models.CharField(max_length=50)
model = models.CharField(max_length=200)
year = models.IntegerField()
price = models.IntegerField()
location = models.CharField(max_length=50)
mileage = models.IntegerField()
transmission = models.BooleanField(default=False)
engine = models.CharField(max_length=200)
registration = models.CharField(max_length=200)
body = models.CharField(max_length=200)
color = models.CharField(max_length=200)
sellerComments = models.CharField(max_length=300)
我想实现标题字段,
实际上我需要这个来查找汽车型号!
就像在查询中一样,我将发送一个字符串,例如:“MAKE MODEL” 用户可以发送品牌或型号,但无法弄清楚,因为只有一个搜索框! 无论如何,如果我有一个“标题字段”,我可以用它来查询数据
这样“标题包含查询字符串!”这是我能想到的唯一逻辑!
任何帮助都会很棒!
根据字符串查询品牌和型号!
您想要的可以通过重写当前类上的 save 方法来简单地实现,因此您将 title 定义为普通字符字段,直到保存对象为止从您想要的其他字段生成其值。
因此,在您的示例中,您的保存方法可能如下所示:
def save(self, *args, **kwargs):
# generate title field from other fields on each model creation/edit
this.title = f"{self.make} {self.model} {self.year}"
# run default Django implementation for save method
super().save(*args, **kwargs)
模型上的标题字段可能如下所示:
title = models.CharField(max_length=256)