Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/296.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 去除Django中的Markermixin_Python_Django_Django Models_Django Orm - Fatal编程技术网

Python 去除Django中的Markermixin

Python 去除Django中的Markermixin,python,django,django-models,django-orm,Python,Django,Django Models,Django Orm,我正在尝试用Django编写一个mixin模型: class RemoveMarkerMixin(db.models.Model): marker = db.models.CharField(max_length=255, blank=True, null=True) class Meta: abstract = True 然后像这样使用它: class Measure(utils.RemoveMarkerMixin, db.models.Model):

我正在尝试用Django编写一个mixin模型:

class RemoveMarkerMixin(db.models.Model):
    marker = db.models.CharField(max_length=255, blank=True, null=True)

    class Meta:
        abstract = True
然后像这样使用它:

class Measure(utils.RemoveMarkerMixin, db.models.Model):

    title = models.CharField(max_length=255)

    def __unicode__(self):
        return self.title

    class Meta:
        app_label = "core"

class MeasureUnit(utils.RemoveMarkerMixin, db.models.Model):

    title = models.CharField(max_length=255)
    measure = models.ForeignKey('core.Measure', related_name='units')

    def __unicode__(self):
        return self.title

    class Meta:
        app_label = "core"
RemoveMarkerMixin.objects.filter(marker='upload_wave1').delete()
现在我想删除所有带有如下标记的模型:

class Measure(utils.RemoveMarkerMixin, db.models.Model):

    title = models.CharField(max_length=255)

    def __unicode__(self):
        return self.title

    class Meta:
        app_label = "core"

class MeasureUnit(utils.RemoveMarkerMixin, db.models.Model):

    title = models.CharField(max_length=255)
    measure = models.ForeignKey('core.Measure', related_name='units')

    def __unicode__(self):
        return self.title

    class Meta:
        app_label = "core"
RemoveMarkerMixin.objects.filter(marker='upload_wave1').delete()

但实际上我不能这样做(这是故意的)。有没有办法达到类似的行为

不,我认为不可能基于
removeMarkerixin
模型进行查询,因为它是一个抽象模型,并且没有为它创建表

从文件开始

抽象基类在您想要放置一些公共 将信息转换为许多其他模型。你写你的基类 并将
abstract=True
放入
Meta
类中该模型将 不用于创建任何数据库表。而在使用时 作为其他模型的基类,其字段将添加到 儿童班


如果您需要查询,您必须
测量
测量单位
模型上分别进行过滤,或者改用。

否,我认为不可能基于
RemoveMarkerMixin
模型进行查询,因为它是一个抽象模型,并且没有为它创建表

从文件开始

抽象基类在您想要放置一些公共 将信息转换为许多其他模型。你写你的基类 并将
abstract=True
放入
Meta
类中该模型将 不用于创建任何数据库表。而在使用时 作为其他模型的基类,其字段将添加到 儿童班


如果您需要查询,您必须
测量
测量单位
模型上分别进行过滤,或者改用。

否,我认为不可能基于
RemoveMarkerMixin
模型进行查询,因为它是一个抽象模型,并且没有为它创建表

从文件开始

抽象基类在您想要放置一些公共 将信息转换为许多其他模型。你写你的基类 并将
abstract=True
放入
Meta
类中该模型将 不用于创建任何数据库表。而在使用时 作为其他模型的基类,其字段将添加到 儿童班


如果您需要查询,您必须
测量
测量单位
模型上分别进行过滤,或者改用。

否,我认为不可能基于
RemoveMarkerMixin
模型进行查询,因为它是一个抽象模型,并且没有为它创建表

从文件开始

抽象基类在您想要放置一些公共 将信息转换为许多其他模型。你写你的基类 并将
abstract=True
放入
Meta
类中该模型将 不用于创建任何数据库表。而在使用时 作为其他模型的基类,其字段将添加到 儿童班


如果您需要查询,您必须
测量
测量单位
模型上分别进行过滤,或者改用。

我认为您可以这样做:

for model in RemoveMarkerMixin.__subclasses__():
    for model.objects.filter(marker='upload_wave1').delete()

我认为这是你最好的方法。

我认为你可以这样做:

for model in RemoveMarkerMixin.__subclasses__():
    for model.objects.filter(marker='upload_wave1').delete()

我认为这是你最好的方法。

我认为你可以这样做:

for model in RemoveMarkerMixin.__subclasses__():
    for model.objects.filter(marker='upload_wave1').delete()

我认为这是你最好的方法。

我认为你可以这样做:

for model in RemoveMarkerMixin.__subclasses__():
    for model.objects.filter(marker='upload_wave1').delete()


我认为这是对您来说最好的方法。

我认为,您需要直接这样做,比如:MeasureUnit.objects.filter(marker='upload\u wave1').delete()和Measure.objects.filter(marker='upload\u wave1').delete(),它可以工作。但当有超过2个模型时,很容易出错。如果想从这样的混合中继承更多的模型,我需要找到所有的位置并添加新行
NewModel.objects….
I更新了我的答案,使用u子类u():p问题解决了吗?我想,你需要直接做,比如:MeasureUnit.objects.filter(marker='upload_wave1')。delete()和Measure.objects.filter(marker='upload_wave1')。delete()它可以工作。但是如果有两个以上的模型,它很容易出错。如果想从这样的混合中继承一个以上的模型,我需要找到所有的位置并添加一行新的
NewModel.objects…
I更新了我的答案,请使用u子类\():p问题解决了吗?我想,您需要直接执行,例如:MeasureUnit.objects.filter(marker='upload\u wave1').delete()和Measure.objects.filter(marker='upload\u wave1').delete()它是有效的。但是如果有两个以上的模型,它很容易出错。如果想从这样的混合中继承一个以上的模型,我需要找到所有的位置并添加一个新行
NewModel.objects….
我更新了我的答案,使用子类::p问题解决了吗?我想,你需要直接这样做,比如:MeasureUnit.objects.filter(marker='upload_wave1').delete()和Measure.objects.filter(marker='upload_wave1').delete()可以工作。但是如果有两个以上的模型,就很容易出错。如果想从这样的混合中继承一个模型,我需要找到所有的位置并添加新行
NewModel.objects…
I更新了答案,请使用u子类:p问题解决了吗?是的,我正在寻找类似的东西。我会尝试并返回给你。另一点,你不需要,继承测量和测量单位上的db.models.Model,因为RemoveMarkerMixin已经继承了。是的,我正在寻找类似的东西。我会尝试并返回给你。另一点,你不需要,继承度量值和度量值单位上的db.models.Model,因为RemoveMarkerMixin已经继承了。是的,我正在寻找类似的东西。我将尝试返回给您。另一点,您不需要,继承