修改django-activity-stream生成的模型

Modify model generated by django-activity-stream

我正在创建一个项目,需要在数据库中审核用户执行的所有类型的操作。对于这个 objective,我使用 'Django-activity-stream' 来正确创建它的模型。

我想更改此库生成的模型中的一个参数的类型,但我不知道该怎么做。

PD:这是我第一次使用 Django 并且已经看过两者的文档,但我不太确定。

如果我解释有误,或者您需要更多相关信息,请毫无问题地询问我。

编辑1: Lib 'Django-activity-stream' 通过模型 'Action'

创建下一个迁移
migrations.CreateModel(
            name='Action',
            fields=[
                ('id', models.AutoField(verbose_name='ID', primary_key=True, serialize=False, help_text='', auto_created=True)),
                ('actor_object_id', models.CharField(max_length=255, db_index=True, help_text='')),
                ('verb', models.CharField(max_length=255, db_index=True, help_text='')),
                ('description', models.TextField(blank=True, null=True, help_text='')),
                ('target_object_id', models.CharField(max_length=255, blank=True, null=True, db_index=True, help_text='')),
                ('action_object_object_id', models.CharField(max_length=255, blank=True, null=True, db_index=True, help_text='')),
                ('timestamp', models.DateTimeField(db_index=True, default=django.utils.timezone.now, help_text='')),
                ('public', models.BooleanField(db_index=True, default=True, help_text='')),
                ('data', DataField(blank=True, null=True, help_text='')),
                ('action_object_content_type', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, blank=True, null=True, help_text='', related_name='action_object', to='contenttypes.ContentType')),
                ('actor_content_type', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, help_text='', related_name='actor', to='contenttypes.ContentType')),
                ('target_content_type', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, blank=True, null=True, help_text='', related_name='target', to='contenttypes.ContentType')),
            ],
            options={
                'ordering': ('-timestamp',),
            },
        ),

我只想将参数 'verb' 从 models.CharField 更改为 models.ForeignKey 并将其关联到我之前定义的模型。

最后,为了解决这个问题,我做了以下步骤:

  1. 'Django-activity-stream'
  2. 的分支
  3. 修改模型并使其功能适应这一变化
  4. 像我自己的Pypi库一样参考原作者上传

这是我的决定,因为文档和关于这个主题的另一个问题都说 Django 不允许这样做。那么唯一可行的方法就是fork并修改它。