在 Django 上修改来自不同应用程序的字段数据

问题描述

我在 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 的不同应用程序,我需要从 posts 文件修改 CustomUser 模型中的 views.py 字段{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)