我的項目涉及排序許多圖像。作爲這種排序的一部分,我希望能夠手動(作爲用戶)將多個圖像標記爲彼此的副本,並簡要說明爲什麼創建每個關係。這些關係不會在圖像加載到Django時定義,但在上載所有圖像後的較晚時間。與Django模型中的描述的遞歸關係
我的問題:我如何創建無限數量的duplicates
?也就是說,我如何定義幾個圖像都是相互關聯的,和包括CharField
說明爲什麼每個關係都存在?
這是一個django應用程序,代碼從models.py
。
謝謝。
from django.db import models
class tag(models.Model):
tag = models.CharField(max_length=60)
x = models.IntegerField(null=True)
y = models.IntegerField(null=True)
point = [x,y]
def __unicode__(self):
return self.tag
#...
class image(models.Model):
image = models.ImageField(upload_to='directory/')
title = models.CharField(max_length=60, blank=True, help_text="Descriptive image title")
tags = models.ManyToManyField(tag, blank=True, help_text="Searchable Keywords")
#...
##### HELP NEEDED HERE ##################
duplicates = [models.ManyToManyField('self', null=True), models.CharField(max_length=60)]
##########################################
def __unicode__(self):
return self.image.name
聽起來像你將使用帶有許多一對多的關係。您還可以設置自定義的「通過」模型,以允許您添加描述等字段。 https://docs.djangoproject.com/en/dev/topics/db/models/#extra-fields-on-many-to-many-relationships – Ngenator