Django模型中具有描述的递归关系

2024-03-28 18:26:52 发布

您现在位置:Python中文网/ 问答频道 /正文

我的项目包括对许多图像进行排序。作为排序的一部分,我希望能够手动(作为用户)将多个图像标记为彼此的副本,并简要说明创建每个关系的原因。但在上传这些关系之后,这些关系将不会被加载到图像中。在

我的问题:如何创建无限数量的duplicates?也就是说,我该如何定义多个图像都是相互关联的,都包含一个关于为什么每个关系存在的描述?在

这是一个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

Tags: django图像imageselftrue排序关系models
1条回答
网友
1楼 · 发布于 2024-03-28 18:26:52

您必须使用一个额外的模型来分组这些重复项,因为您需要一个描述字段。有点像

class DupeSeries(Model):
    description = CharField(...)
    members = ManyToManyField("image", related_name="dupes", ...)

用法示例:

^{pr2}$

相关问题 更多 >