Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x Django:如何用另外两个字段自动填充一个字段';同一模型中的s值_Python 3.x_Django_Django Models - Fatal编程技术网

Python 3.x Django:如何用另外两个字段自动填充一个字段';同一模型中的s值

Python 3.x Django:如何用另外两个字段自动填充一个字段';同一模型中的s值,python-3.x,django,django-models,Python 3.x,Django,Django Models,我想用category和subcategory的值自动填充Django模型中的tags字段。我试图找到解决方案,但大多数答案导致(从另一个模型自动填充)。但我想用同一个模型中两个或多个字段的值自动填充它 from django.db import models from .category import cat, sub_cat # Create your models here. class Product(models.Model): product_id = models.

我想用category和subcategory的值自动填充Django模型中的tags字段。我试图找到解决方案,但大多数答案导致(从另一个模型自动填充)。但我想用同一个模型中两个或多个字段的值自动填充它

from django.db import models
from .category import cat, sub_cat

# Create your models here.


class Product(models.Model):

    product_id = models.AutoField(primary_key=True)
    product_name = models.CharField(max_length=200)
    category = models.CharField(
        max_length=50, choices=cat(), default="")
    subcategory = models.CharField(
        max_length=50, choices=sub_cat(), default="")
    brand = models.CharField(max_length=50, default="")
    desc = models.TextField(max_length=1500)
    price = models.FloatField(default=0)
    pub_date = models.DateField()
    image = models.ImageField(upload_to="shop/images", default="")
    tags = 

覆盖默认的保存方法:

class Product(models.Model):
    fields here     

    def save(self, *args, **kwargs):
        self.tags = self.category + '' + self.subcategory
        super(Product, self).save(*args, **kwargs)

调用.save()时,它将自动获取类别和子类别并连接。

覆盖默认的保存方法:

class Product(models.Model):
    fields here     

    def save(self, *args, **kwargs):
        self.tags = self.category + '' + self.subcategory
        super(Product, self).save(*args, **kwargs)

调用.save()时,它将自动获取类别和子类别并连接起来。

此链接应包含您要查找的信息:

在您的例子中,我认为您应该创建一个函数,该函数基于其他字段创建标记,然后重写save函数来设置标记

def your_function(self):
    return self.category + ', ' self.subcategory


def save(self, *args, **kwargs):
    if not self.tags:
        self.tags= self.your_function()
    super(Subject, self).save(*args, **kwargs)

此链接应包含您要查找的信息:

在您的例子中,我认为您应该创建一个函数,该函数基于其他字段创建标记,然后重写save函数来设置标记

def your_function(self):
    return self.category + ', ' self.subcategory


def save(self, *args, **kwargs):
    if not self.tags:
        self.tags= self.your_function()
    super(Subject, self).save(*args, **kwargs)