Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python django嵌套内联线,有解决方法吗?_Python_Django_Nested_Inline - Fatal编程技术网

Python django嵌套内联线,有解决方法吗?

Python django嵌套内联线,有解决方法吗?,python,django,nested,inline,Python,Django,Nested,Inline,我想在admin中编辑一个模型,该模型具有另一个模型的外键,该模型又具有基础模型的外键: from django.contrib import admin from .models import Role from .models import Address from .models import Date from .models import Person from .models import Name # Register your models here. admin.site.

我想在admin中编辑一个模型,该模型具有另一个模型的外键,该模型又具有基础模型的外键:

from django.contrib import admin
from .models import Role
from .models import Address
from .models import Date
from .models import Person
from .models import Name

# Register your models here.

admin.site.register(Role)
admin.site.register(Address)
admin.site.register(Date)
#admin.site.register(Name)
#admin.site.register(Person)

class RoleInline(admin.TabularInline):

    model=Role
    extra=3

class NameInline(admin.TabularInline):

    model=Name
    extra=3

class PersonInline(admin.ModelAdmin):

    fieldsets=[
        (None,{'fields': ['mail','firstName','lastName','phoneNumber','streetAdress','zipcode','city']}),
    ]
    inlines = [RoleInline,Name]
    search_fields = ['firstName']

#admin.site.register(Name,NameInline)
admin.site.register(Person,PersonInline)
这就是模型:

class Role(models.Model):

    role=models.CharField(max_length=200)
    person=models.ForeignKey(Person,on_delete=models.CASCADE)

    def __str__(self):
        return self.role

    class Meta:
        ordering = ('role',)

class Name(models.Model):

    name=models.CharField(max_length=200)
    role=models.ForeignKey(Role,on_delete=models.CASCADE)

    def __str__(self):
        return self.name

    class Meta:
        ordering = ('name',)

class Address(models.Model):

    name=models.ForeignKey(Name,on_delete=models.CASCADE)
    street=models.CharField(max_length=200)
    city=models.CharField(max_length=200)
    mail=models.EmailField()
    phone=PhoneNumberField()

    def __str__(self):
        return self.name

    class Meta:
        verbose_name_plural = "addreses"

    class Meta:
        ordering = ('name',)

class Date(models.Model):

    date=models.DateField()
    location=models.ManyToManyField(Address)
问题是名称与角色相关,而不是直接与个人相关,即角色对个人有外键,名称对角色有外键,这必须添加到我使用的管理员页面中。
django中缺少嵌套的内联线,是否有解决方法?

这是一个什么问题(请解释),您的模型是什么样子的?(复制问题所需的最少代码)添加了模型。关键是,当使用内联添加另一个模型进行编辑时,我必须将外键关系添加到角色。这个“名称”模型的实际意义是什么?每个人都有一个或多个角色,每个角色都有一个或多个名称,就像亚当是艺术家,也是演员,作为演员,他被称为“伟大的亚当”作为一名艺术家,他被称为“艺术家亚当”。这有意义吗?嗯,有点是的。。。如果不知道规格和域模型,很难说。但我想知道为什么地址与
名称关联?