首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在尝试内联模型时,<class>在Django中没有<class>的外键

在Django中,如果您尝试在一个模型中使用内联模型,并且遇到了没有外键的问题,可能是因为您没有正确地定义外键关系。

首先,请确保您的模型中定义了外键关系。例如,如果您有两个模型,一个是Author,另一个是Book,并且每个Book都有一个Author,那么您可以在Book模型中定义一个外键关系,如下所示:

代码语言:python
复制
from django.db import models

class Author(models.Model):
    name = models.CharField(max_length=100)

class Book(models.Model):
    title = models.CharField(max_length=100)
    author = models.ForeignKey(Author, on_delete=models.CASCADE)

在这个例子中,Book模型中的author字段是一个外键,它引用了Author模型。

接下来,您可以使用内联模型来在Django管理界面中一次性创建和更新相关的对象。例如,您可以在admin.py文件中定义一个内联模型,如下所示:

代码语言:python
复制
from django.contrib import admin
from .models import Author, Book

class BookInline(admin.TabularInline):  # 或者使用 admin.StackedInline
    model = Book

class AuthorAdmin(admin.ModelAdmin):
    inlines = [BookInline]

admin.site.register(Author, AuthorAdmin)

在这个例子中,我们创建了一个名为BookInline的内联模型,它将Book模型与Author模型进行了关联。然后,我们在AuthorAdmin类中将BookInline添加到了内联关系中,并将AuthorAdmin注册到了Django管理界面。

现在,当您在Django管理界面中创建或更新Author对象时,您将能够一次性创建或更新与之相关的Book对象。

请注意,如果您在尝试内联模型时遇到了其他问题,可能需要检查您的模型定义或内联模型定义是否正确。如果您需要进一步的帮助,请提供更多详细信息,以便我们能够更好地帮助您。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券