代码之家  ›  专栏  ›  技术社区  ›  Saturnix

相关模型属性的Django唯一约束

  •  0
  • Saturnix  · 技术社区  · 7 年前

    def BookModel(TimeStampedModel):
        user = models.ForeignKey(User, on_delete=models.CASCADE)
        bookname = models.CharField()
    
        class Meta:
            constraints = [
                models.UniqueConstraint(fields=['user ', 'bookname'],
                                        name='StackOverflow.Question')
            ]
    

    每个用户只能有一个 BookModel 用一个特定的 bookname .

    不过,现在我想介绍一下 LibraryModel

    class LibraryModel(TimeStampedModel):
        user = models.ForeignKey(User, on_delete=models.CASCADE)
        name = models.CharField(max_length=32)
    
    
    def BookModel(TimeStampedModel):
    
        library = models.ForeignKey(LibraryModel, on_delete=models.CASCADE)
        bookname = models.CharField()
    
        class Meta:
            constraints = [
                models.UniqueConstraint(fields=['library_user', 'bookname'],
                                        name='StackOverflow.Question')
            ]
    

    当我运行migrate时,它说 django.core.exceptions.FieldDoesNotExist: BookModelhas no field named 'library_user' .

    fields=['library__user' fields=['library.user' ,无济于事。

    这有可能吗?或者我应该把 user

    0 回复  |  直到 7 年前