在 Django 中有没有一种方法可以在另一个对象中存储和管理多个对象(在 Django 管理中)?
例如,我有两个模型:Items 和 RMA。 RMA 中可能包含多个项目。每个 Item 都是唯一的,因为它是一个库存部件,所以我不能只使用 foreignKey 多次引用同一个项目(尽管我可能误解了它的使用/实现)。
所以现在,我有一个 Item 模型:
class Item(models.Model):
serial_number = models.CharField(max_length=200)
name = models.CharField(max_length=200)
part_number = models.CharField(max_length=200)
location = models.CharField(max_length=200)
def __unicode__(self):
return self.name
和一个 RMA 模型:
class RMA(models.Model):
number = models.AutoField(primary_key=True)
items = ?????
最终,我希望能够继续使用 Django 管理功能,以便在必要时从 RMA 添加/删除项目,因此我一直远离序列化列表然后在显示时反序列化。任何帮助将不胜感激。
请您参考如下方法:
您正在为 has-many 建模关系。
这将用 Foreign Key 建模关于 RMA 的项目:
class Item(models.Model):
serial_number = models.CharField(max_length=200)
name = models.CharField(max_length=200)
part_number = models.CharField(max_length=200)
location = models.CharField(max_length=200)
rma = models.ForeignKey(RMA)
def __unicode__(self):
return self.name
要使其在 RMA 的管理员中可访问,您需要 djangos InlineAdmin功能。
您可以在 django tutorial part2 中找到示例.
