小编Wha*_*2Hz的帖子

类型错误:“UniqueConstraint”对象在 Django 中不可迭代

当我使用以下命令设置多个唯一字段时UniqueConstraint

class Meta:
    constraints = (models.UniqueConstraint(fields=['student', 'classroom', 'code'], name='student_classroom_code'))
Run Code Online (Sandbox Code Playgroud)

并运行python manage.py makemigrations引发此错误:

TypeError: 'UniqueConstraint' object is not iterable
Run Code Online (Sandbox Code Playgroud)

这有什么问题吗?

python django django-models

3
推荐指数
1
解决办法
1160
查看次数

slugify() 收到意外的关键字参数“allow_unicode”

当我想从中创建新对象时,product出现此错误:

slugify() got an unexpected keyword argument 'allow_unicode'

这是我的模型:

class BaseModel(models.Model):
    created_date = models.DateTimeField(auto_now_add=True)
    modified_date = models.DateTimeField(auto_now=True,)
    slug = models.SlugField(null=True, blank=True, unique=True, allow_unicode=True, max_length=255)
    class Meta:
        abstract = True


class Product(BaseModel):
    author = models.ForeignKey(User)
    title = models.CharField()
     # overwrite your model save method
    def save(self, *args, **kwargs):
        title = self.title
        # allow_unicode=True for support utf-8 languages
        self.slug = slugify(title, allow_unicode=True)
        super(Product, self).save(*args, **kwargs)
Run Code Online (Sandbox Code Playgroud)

我也为其他应用程序(博客)运行了相同的模式,但我没有遇到这个问题。 这个应用程序有什么问题吗?

python django django-models slug django-2.2

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

为什么Abstract=True在django模型的Meta类中不继承

我在 django 中有这个模型:

class FotherModel(models.Model):
    # Some fields goes here! 
    class Meta: 
        # Some fields goes here! 
        abstract = True 
class ChildModel(FotherModel):
    # Some fields goes here! 
    class Meta(FotherModel.Meta):
        #s Some fields goes here! 
Run Code Online (Sandbox Code Playgroud)

当我们从Django模型的元类继承一个字段时,该字段出现在子元类中,但这条规则不适用于abstract=True.

我知道如果发生这种情况,数据库中不会创建任何表,但我不知道这种继承是如何没有发生的。请为我解释一下这个过程。

django django-models django-inheritance

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

将list的元素作为单独的字符串传递给Django方法

我想将列表元素作为分隔的字符串传递给value方法。这是我的主要查询:

resumes = JobRecord.objects.all().values('field1','field2','field3','field4')
Run Code Online (Sandbox Code Playgroud)

我要发送此列表方法,而不是JobRecord modelvalues方法中写入my的每个字段values

fields_LIST =['field1', 'field2', 'field3', 'field4']
Run Code Online (Sandbox Code Playgroud)

如何将list的元素作为单独的字符串传递给method?

提示

我测试了这些解决方案,但是没有一个响应:

1:

str(fields_LIST) # result: "['field1', 'field2', 'field3', 'field4']"
Run Code Online (Sandbox Code Playgroud)

2:

str1 = ''
for item in fields_LIST:
    str1 += '\'' + item + '\'' + ',' # result: "'field1','field2','field3','field4'," 
Run Code Online (Sandbox Code Playgroud)

方式3:

通过列表本身:

JobRecord.objects.all().values(fields_LIST) # result: Error :'list' object has no attribute 'split'
Run Code Online (Sandbox Code Playgroud)

第4种:

str1 = ','.join(str(e) for e in fields_LIST) # result: 'field1, field2, field3, field4'
Run Code Online (Sandbox Code Playgroud)

研究 我没有研究这个资源和问题:1, …

python django django-models python-3.x django-2.2

1
推荐指数
1
解决办法
30
查看次数