Я начал изучать Django вчера, и у меня возникли проблемы с созданием взаимосвязи между многими в одном на основе объектов, которые я ранее создал.Отношение много к одному в Django с существующими объектами
models.py
# -*- coding: utf-8 -*-
from django.db import models
class Item(models.Model):
code = models.AutoField(primary_key=True)
name = models.CharField(max_length=150, unique=True)
class Meta:
ordering = ('name', 'code')
def __unicode__(self):
return self.name
class Product(models.Model):
code = models.AutoField(primary_key=True)
name = models.CharField(max_length=150, unique=True)
price = models.DecimalField(max_digits=5, decimal_places=2)
photo = models.ImageField(null=True, blank=True, upload_to='/img/products')
items = models.ForeignKey('Item')
class Meta:
ordering = ('name', 'code')
def __unicode__(self):
return self.name
admin.py
# -*- coding: utf-8 -*-
from django.contrib import admin
from Cadastro.models import Item, Product
class ItemAdmin(admin.ModelAdmin):
model = Item
list_display = ['code', 'name']
list_filter = []
search_fields = ['name', 'code']
save_on_top = True
class ProductAdmin(admin.ModelAdmin):
model = Product
list_display = ['name', 'price']
list_filter = []
search_fields = ['name']
save_on_top = True
admin.site.register(Item, ItemAdmin)
admin.site.register(Product, ProductAdmin)
Проблема:
Моя проблема здесь:
items = models.ForeignKey('Item')
Я хочу, чтобы создать различные Пункт объектов, в первую очередь.
После этого, когда я буду создавать продукты, я хочу, чтобы увидеть список всех моих Элементы и выбрать много элементов, чтобы быть частью продукта.
В этом случае, когда я создаю элемент, я его экземпляр в одном продукте. Я спрашиваю о возможности использования Продукта ** списка ** предметов. Но эти элементы уже созданы. –
Внешние ключи на стороне 'many' являются стандартным способом представления отношений« ManyToOne »в реляционных базах данных. Django предоставит вам автоматическое обратное отношение, если вы не скажете ему об этом - посмотрите примеры 'article_set' в документах. Модель 'Reporter' не нуждается в явном поле для поиска« принадлежности к каждому репортеру ». В вашем случае у вас, вероятно, будет 'item_set' как автоматическое поле в' Product'. –