Python 去除Django中的Markermixin
我正在尝试用Django编写一个mixin模型: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):
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已经继承了。是的,我正在寻找类似的东西。我将尝试返回给您。另一点,您不需要,继承