django模型多对多关系问题
Django 1.3 假设我有模型:django模型多对多关系问题,django,models,Django,Models,Django 1.3 假设我有模型: class Inspector(models.Model): field = models.IntegerField() Model_1(models.Model): inspectors = ManyToManyField(InspectorData) 我必须创建另一个模型,其中一个字段只能存储来自model_1()的数据。Smth类似: class Model_2(models.Model): model_1_inspecto
class Inspector(models.Model):
field = models.IntegerField()
Model_1(models.Model):
inspectors = ManyToManyField(InspectorData)
我必须创建另一个模型,其中一个字段只能存储来自model_1()的数据。Smth类似:
class Model_2(models.Model):
model_1_inspectors = ManyToManyField(Model_1__inspectors)
我如何在Django实现这一点(如果可能的话)
提前感谢。根据需要导入型号
from myapp_folder.models import Inspector
class Model_2(models.Model):
model_1_inspectors = ManyToManyField(Inspector)
这将起作用第一个选项是覆盖Model_1
中的save
方法,并在每次保存操作时更新专门创建的Modelmodel1inspector中的Inspector
。这样,“Model_2”就和你的问题一样了
但我认为最好在表单中为ManyToManyField
定制查询集,如下所示:
class Model_2Form(forms.ModelForm):
class Meta:
model = Model_2
def __init__(self, *args, **kwargs):
super(Model_2Form, self).__init__(*args, **kwargs)
self.fields['model_1_inspectors'].queryset = InspectorData.objects.filter(
pk__in=Model_1.objects.values('inspectors').distinct())
您已经在问题本身中创建了模型。你还想要什么?我不确定ManyToManyField(Model_1____检查员)
是否在django工作)