Python 在Django模型中存储对象列表
在Django中是否有一种方法可以在另一个对象中存储和管理多个对象(在Django admin中) 例如,我有两个模型:Items和RMA。军事革命可能包含多个项目。每个项目都是唯一的,因为它是一个库存零件,所以我不能用foreignKey多次引用同一个项目(尽管我可能误解了它的使用/实现) 现在,我有一个项目模型:Python 在Django模型中存储对象列表,python,django,Python,Django,在Django中是否有一种方法可以在另一个对象中存储和管理多个对象(在Django admin中) 例如,我有两个模型:Items和RMA。军事革命可能包含多个项目。每个项目都是唯一的,因为它是一个库存零件,所以我不能用foreignKey多次引用同一个项目(尽管我可能误解了它的使用/实现) 现在,我有一个项目模型: class Item(models.Model): serial_number = models.CharField(max_length=200) name =
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
以及军事革命模式:
class RMA(models.Model):
number = models.AutoField(primary_key=True)
items = ?????
最终,我希望能够维护Django管理功能的使用,以便在必要时从RMA中添加/删除项目,所以我一直避免序列化列表,然后在显示时反序列化。任何帮助都将不胜感激。您正在建立一种关系
这将通过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功能
您可以在中找到示例。您有效地描述了,为此,您必须将引用添加到
项目
模型,而不是RMA
模型
您还可以添加一个属性,为RMA
模型提供一个您可以调用的属性
例如:
class Item(models.Model):
rma = models.ForeignKey(RMA,related_name="items")
serial_number = models.CharField(max_length=200)
# etc...
要管理这些文件的创建,您需要一个,因此您的admin.py
文件需要如下所示:
from django.contrib import admin
class ItemInline(admin.TabularInline):
model = Item
class RMAAdmin(admin.ModelAdmin):
inlines = [
ItemInline,
]