【问题标题】:quick question: clear an attribute of a model in django快速提问:清除 django 中模型的属性
【发布时间】:2010-10-08 12:39:01
【问题描述】:

我认为这对您来说是一个非常简单的问题。 我想清除一个 django-model 的属性。

如果我有这样的事情:

class Book(models.Model):   
     name = models.TextField()  
     pages = models.IntegerField()  
     img = models.ImageField()

在一个抽象函数中,我想清除一个属性,但当时我不知道该字段的类型。所以例子是name=""pages=0img=None.. 有没有办法以通用的方式做到这一点?我搜索类似SET_TO_EMPTY(book,"pages")

你知道这样的函数吗?

非常感谢!

【问题讨论】:

    标签: python django model


    【解决方案1】:

    我认为没有一种干净的方法可以做到这一点。但是,假设您设置了一个默认值(您没有),您可以这样做:

    book.img = book._meta.get_field('img').default
    

    请注意,您当前的模型不允许使用 None 值。要允许这些,您必须设置 null=Trueblank=True。对于pages,您需要default=0

    【讨论】:

      猜你喜欢
      • 2020-09-29
      • 2017-01-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-05
      • 2017-05-04
      • 1970-01-01
      相关资源
      最近更新 更多