gpt4 book ai didi

python - 在 Django 中对外键对象进行排序

转载 作者:太空宇宙 更新时间:2023-11-04 05:14:36 25 4
gpt4 key购买 nike

我有一个包含两个主要类的模型。

第一个是书本模型,第二个是页面模型

这些页面有一个外键字段可以让我访问它们,但我很好奇的是,您将如何实现页码,以便在创建新的页面对象时,数量仅限于在当前页面长度?另外,如果插入的话,后面几页怎么往下移一页?

现在我只有一个整数字段,我手动输入页码,但如果我想让用户稍后自己添加页面,那是行不通的。

更新:

class Textbook(models.Model):
founder = models.CharField(max_length=256)
title = models.CharField(max_length=256)
cover = models.ImageField(upload_to=get_image_path,
blank=True,
null=True)

def __str__(self):
return self.title


class Page(models.Model):
textbook = models.ForeignKey(Textbook, related_name="pages")
page_title = models.CharField(max_length = 256)

def __str__(self):
return self.page_title


class Section(models.Model):
page = models.ForeignKey(Page,related_name="sections")
section_title = models.CharField(max_length=256)
text = RichTextField(config_name='awesome_ckeditor')

def __str__(self):
return self.section_title

以上是我的模型,我想做的是让您可以按顺序跟踪包含在 TextBook 中的页面。此外,您可以插入新页面,页码将相应更改。因此,如果您说有第 1、2、3 页并想添加一个新页,则可以添加一个新页作为第 4 页,或者将其插入第 2 和第 3 页之间,之前的第 3 页变为第 4 页。

最佳答案

“order_with_respect”选项是否是您问题的答案:

https://docs.djangoproject.com/en/1.10/ref/models/options/#order-with-respect-to

关于python - 在 Django 中对外键对象进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42100809/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com