Ответ:
Короче говоря, я должен был использовать поле «многие ко многим». Я также загружал стандартное представление django admin, которое отображает все сохраненные ссылки (не добавлены)
в admin.py
from django.contrib import admin
from .models import Product, ProductDependency
# Register your models here.
admin.site.register(Product)
class ProductDependencyAdmin(admin.ModelAdmin):
filter_horizontal = ('product_dependencies',)
admin.site.register(ProductDependency, ProductDependencyAdmin)
и models.py
из django .db импорт моделей import uuid
# Create your models here.
class Product(models.Model):
id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
product_name = models.CharField(max_length=128)
def __str__(self):
return self.product_name
class ProductDependency(models.Model):
id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
product = models.ForeignKey(Product, on_delete=models.DO_NOTHING, related_name='product')
product_dependencies = models.ManyToManyField('Product')
def __str__(self):
return self.product.__str__()