Python django:如何获取表的最后一个id或行id?

Python django:如何获取表的最后一个id或行id?,python,django,django-models,Python,Django,Django Models,我正在写一个网站,我需要做一个编号系统,我需要把最新的一行id/id+1添加到一个charfield中,所有的工作都快完成了,但是这个。 你知道怎么打电话吗?这类似于在将对象添加到表之前获取对象的行id letter_numbering = cjy + latest_row_id +1 ~~~ class Entry(models.Model): topic = models.ForeignKey(Topic, on_delete=models.CASCADE) title

我正在写一个网站,我需要做一个编号系统,我需要把最新的一行id/id+1添加到一个charfield中,所有的工作都快完成了,但是这个。 你知道怎么打电话吗?这类似于在将对象添加到表之前获取对象的行id

letter_numbering = cjy + latest_row_id +1

~~~

class Entry(models.Model):
    topic = models.ForeignKey(Topic, on_delete=models.CASCADE)
    title = models.CharField(max_length=200)
    jalali_date = models.CharField(max_length=10, default=current_full_j_date)
->  letter_number = models.CharField(max_length=7, default=letter_numbering)
    from_to = models.CharField(max_length=200)
    file = forms.FileField()
    letter_type = models.CharField(max_length=8, choices=letter_direction, default='incoming')
    text = models.TextField()
    date_added = models.DateTimeField(auto_now_add=True)

根据你的问题,我得到的是你想要你插入的最新记录的id 可通过以下方式获得:-

   latest_id = Entry.objects.latest('id').id
在您的模型中,没有主键,因此Django将创建一个默认主键,即id,它将在每次创建记录时自动递增。 因此,您可以将其用作最新的行id。 根据自动密钥id,您可以将上次创建的id作为

   last_id = Entry.objects.last().id

这两种方法都可以解决您的问题。

您在寻找什么?为什么不直接使用主键呢?也许@property可能适合您,而不是DB字段。除此之外,您在模型中使用forms.FileField,您不应该完全自动填充,我想要一些数字,例如年份+递增数字,例如:20200001、2020002、2020003等等。任何想法,考虑我是新手。谢谢你的支持,我应该在哪里使用你的代码?当我使用上面的类时,我得到一个错误:名称“Entry”未定义。您应该编写views.py。在该对话框中,导入模型的文件。要检查的示例代码,您可以根据需要从模型导入*def get_id:latest_id=Entry.objects.latest'id.id print latest_id get_idhum。。。我觉得我对这个很陌生。你能多帮点忙吗?然后写代码?所以,也许我明白了这到底是怎么回事。在同一个目录中创建一个名为views.py的python文件,然后写下面的代码。缩进它。我不知道如何在models import*def get_id:latest_id=Entry.objects.latest'id.id print latest_id get_id代码中编写注释。下面的链接可能有助于提供有关框架的基本概念