django模型多对多关系问题

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

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_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
方法,并在每次保存操作时更新专门创建的Model
model1inspector中的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工作)