首先,引起这个错误的原因是,你在获取sql中的数据时,由于你使用的models中的B类定义了**外键**,而你在使用这个类创建数据时就会报错:不能分派...:"B类.xxx" 必须是一个"A类" 实例。
解决办法是:使用A类创建一个实例 对象,然后将它赋值给B类中你想要获取的那个字段。
具体如下:
# 在models.py中有两个类
from django.db import models
class A(models.Model):
name = models.CharField(max_length=50,null=False)
address = models.CharField(max_length=50,null=False)
class B(models.Model):
name = models.CharField(max_length=50,null=False)
attribute = models.ForeignKey(to="A", on_delete=models.CASCADE)
那么你在获取B类中的数据attribute时,就可以这样做:
# views.py
from app01 import models
def do_sth(request):
if request.method == "POST":
tmp = models.A.objects.get(id=1)
models.B.objects.create(attribute=tmp)
return redirect("/app01/display/")
return render(request,"display.html")
well done ~ 试一下吧