修改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 并将其关联到我之前定义的模型。
最后,为了解决这个问题,我做了以下步骤:
- 'Django-activity-stream'
的分支
- 修改模型并使其功能适应这一变化
- 像我自己的Pypi库一样参考原作者上传
这是我的决定,因为文档和关于这个主题的另一个问题都说 Django 不允许这样做。那么唯一可行的方法就是fork并修改它。
我正在创建一个项目,需要在数据库中审核用户执行的所有类型的操作。对于这个 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 并将其关联到我之前定义的模型。
最后,为了解决这个问题,我做了以下步骤:
- 'Django-activity-stream' 的分支
- 修改模型并使其功能适应这一变化
- 像我自己的Pypi库一样参考原作者上传
这是我的决定,因为文档和关于这个主题的另一个问题都说 Django 不允许这样做。那么唯一可行的方法就是fork并修改它。