【发布时间】:2018-05-30 03:05:29
【问题描述】:
当我运行此程序时,我得到 JSON 文件,但不包括外键(联系电话),我想显示一个联系人姓名/地址/电子邮件和多个联系号码。
models.py
from django.db import models
class PhoneBook(models.Model):
name = models.CharField(max_length=50)
address = models.CharField(max_length=100, default='address')
email = models.CharField(max_length=50, default='email')
note = models.CharField(max_length=100, default='note')
def __str__(self):
return self.name
class ContactNumber(models.Model):
number = models.ForeignKey(PhoneBook, related_name="contact_numbers")
contact_number= models.CharField(max_length=30)
def __str__(self):
return self.contact_number
views.py
from django.shortcuts import render
from .models import PhoneBook,ContactNumber
from django.http import JsonResponse
from django.views import View
class PhoneBookList(View):
def get(self,request):
phonebooklist=list(PhoneBook.objects.values())
return JsonResponse(phonebooklist,safe=False)
admin.py
from django.contrib import admin
from .models import PhoneBook,ContactNumber
class ContactNumberInline(admin.StackedInline):
model = ContactNumber
class PhoneBookAdmin(admin.ModelAdmin):
inlines =[
ContactNumberInline,
]
admin.site.register(PhoneBook)
admin.site.register(ContactNumber)
【问题讨论】:
-
您的应用架构是否仅基于 API?
-
您只是在查询
PhoneBook实例。 Django admin 与您的视图无关。 -
@Shift'NTab 是的,仅基于 API。我将其作为后端和前端 reactjs
-
@Selcuk 我的views.py只有一个问题?在我的models.py上怎么样?我应该创建一些函数来显示外键(联系电话)和联系人姓名吗?
-
我强烈建议看看 django restframework,它让事情变得更容易,
标签: django python-3.x