首页 > 解决方案 > Django - 跟踪评论

问题描述

我正在构建一个网络应用程序,其中每个产品都有自己的“配置文件”。我需要在模型中添加某种字段,我可以在其中添加带有日期和文本的“评论”,以跟踪诸如公式更改、提供商更改、价格更改等信息。

有任何想法吗?

模型.py

    from django.db import models

# Create your models here.


class Horse(models.Model):
    name = models.CharField(max_length=255)
    nacimiento = models.DateField(blank=True, null=True)
    nro = models.IntegerField()
    event = models.TextField()
    slug = models.SlugField(unique=True)

    def __str__(self):
        return '%s-%s' % (self.name, self.nro)

所以对于每一个发生的事件,我都需要一个新的入口,并在文本字段中提供描述。

标签: pythondjangodjango-models

解决方案


class HorseTracker(models.Model):
    horse = models.ForeignKey(Horse, on_delete=models.CASCADE, related_name='horse')
    comment = models.CharField(max_length=128)
    created_at = models.DateTimeField(auto_now_add=True)

    class Meta:
        ordering = ['-created_at']

每次您更改模型中的某些内容时,您都可以创建新的实例,HorseTracker并描述您所做的更改。

为了使它更有用,您可以TabularInline在您的HorseAdmin

class HorseTrackerInline(admin.TabularInline):
    model = HorseTracker

class HorseAdmin(admin.ModelAdmin):
    list_display = ['name', 'nacimiento', 'nro', 'event', 'slug', ]
    inlines = [ HorseTrackerInline, ]

推荐阅读