首页 > 解决方案 > Django中的自定义主键

问题描述

所以我正在创建一个名为“电子参考库”(ERL)的项目。我正在使用 Django 3.2 创建这个应用程序,这里是Resource表格的模型。

class Resource (models.Model):
    resource_id = models.CharField(primary_key=True, max_length=20)
    type = models.CharField(choices=RESOURCETYPE, default="WebLink", max_length=10)
    link = models.URLField()
    subject = models.ForeignKey(YearGroupSubject, on_delete=models.CASCADE)
    topic = models.CharField(max_length=50)
    description = models.TextField()
    unit_no = models.CharField(max_length=10)

    search_query = models.CharField(max_length=300)
    status = models.CharField(choices=STATUS, default="Pending", max_length=30)
    posted_by = models.ForeignKey(ProfileStaff)
    posted = models.DateTimeField(auto_now=True)
    approved_time = models.DateTimeField(null=True, blank=True)
    views = models.PositiveIntegerField(default=0)

因此,在这种情况下,我的客户想要一个自定义主键,其格式必须类似于MATH-YYMMDD-HHMMSS-00.

但我不知道如何拥有由 Django 自动生成的自定义主键。

这可能吗?如果没有,还有其他更好的选择吗?

任何帮助将不胜感激。

谢谢!

标签: djangodjango-models

解决方案


推荐阅读