2016-11-22 108 views
0

我希望能够创建一个模型TestCase,其中有一个products字段,该字段是另一个外键,用于禁止模型Product。我希望能够使用管理页面创建新的Product,然后创建TestCase我希望能够从Product中选择我已经创建的。一个保管箱将是理想的。这是我曾尝试:在管理页面上添加Django ForeignKey作为下拉选择

models.py

class TestCase(TestBase): 

    def __str__(self): 
     return self.title 


class Product(models.Model): 
    products = models.ForeignKey(TestCase, on_delete=models.CASCADE, null=True) 
    name = models.CharField(max_length=200, default='') 

    def __str__(self): 
     return self.name 

admin.py

class ProductInline(admin.TabularInline): 

    model = Product 


class TestCaseAdmin(admin.ModelAdmin): 

    inlines = [ProductInline] 

admin.site.register(TestCase, TestCaseAdmin) 

管理页面现在有字段来创建一个产品上添加新TestCase,但我想改为从已创建的Products中选择?

在此先感谢。

+0

产品是否属于多个TestCase? –

+0

@DanielRoseman是的。 – EngineerCamp

回答

2

您有错误的模型结构。如果您希望能够从您的TestCase中的已有产品列表中进行选择,并且产品可以属于多个TestCases,则您需要一个位于TestCase上的ManyToManyField。