【问题标题】:Modify field data from a different app on Django从 Django 上的其他应用程序修改字段数据
【发布时间】:2026-01-25 17:25:02
【问题描述】:

我在 Django 上名为 users 的应用程序中有自定义用户模型。代码:

(用户应用)

models.py:

from django.db import models
from django.contrib.auth.models import AbstractUser


class CustomUser(AbstractUser):
    is_premium = models.BooleanField(default=False)
    points = models.IntegerField(default=0)
    classrooms = models.JSONField(default=dict)
    posts = models.JSONField(default=dict)

(用户应用)

admin.py:

from django.contrib import admin
from .models import CustomUser
admin.site.register(CustomUser)

这一切似乎都有效,但是我有一个名为files 的不同应用程序,我需要从files 应用程序中的views.py 文件修改CustomUser 模型中的posts 字段。我认为这个问题的答案与外键有关,但由于某种原因,我无法理解它们。

【问题讨论】:

  • CustomUser 类应该在 models.py 而不是 views.py 中。您可以创建一个 Posts 模型并将 ForeignKey 添加到 CustomUser 类
  • @AAB 不是故意的,我只是在凌晨 2:30 半睡半醒。

标签: python django database foreign-keys


【解决方案1】:

我最终发现了我必须做的事情。 1)。您很可能已经这样做了,但是在您项目的 settings.py 文件中转到名为 INSTALLED_APPS 的列表并添加在我的情况下具有自定义模型的应用程序 users (我在询问之前已经完成了该步骤)

2)。在您想要修改它的应用程序中的views.py 中添加导入:

from users.models import CustomUser # Replace "CustomUser" with whatever the model is called in your case.

3)。然后只需使用CustomUser 或您所称的任何名称来引用它。 所以在我的情况下:

user = CustomUser.objects.filter(username=request.user)

【讨论】:

    最近更新 更多