【问题标题】:Modify model generated by django-activity-stream修改 django-activity-stream 生成的模型
【发布时间】:2020-06-26 09:48:54
【问题描述】:

我正在创建一个项目,该项目需要在数据库中审核用户执行的所有类型的操作。为此,我正在使用“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 并将其与我之前定义的模型相关联。

【问题讨论】:

  • 你能不能说的更具体一些,比如你想改什么参数
  • @minglyu 我添加了更多关于我想做的改变的细节。谢谢

标签: python django django-activity-stream


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-24
    • 2020-11-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-14
    相关资源
    最近更新 更多