在Django中,如果在保存对象之后外键为空,可能是由于以下几种情况导致的:
以下是解决方法的示例代码:
# models.py
class Parent(models.Model):
name = models.CharField(max_length=100)
class Child(models.Model):
name = models.CharField(max_length=100)
parent = models.ForeignKey(Parent, on_delete=models.CASCADE)
# views.py
def create_parent_and_child(request):
parent = Parent.objects.create(name='Parent')
child = Child.objects.create(name='Child', parent=parent)
return HttpResponse('Parent and child created successfully.')
# models.py
class Child(models.Model):
name = models.CharField(max_length=100)
parent = models.ForeignKey(Parent, on_delete=models.CASCADE, null=True)
# views.py
def create_child_without_parent(request):
child = Child.objects.create(name='Child')
return HttpResponse('Child created successfully without a parent.')
# models.py
class Parent(models.Model):
name = models.CharField(max_length=100)
class Child(models.Model):
name = models.CharField(max_length=100)
parent = models.ForeignKey(Parent, on_delete=models.CASCADE)
# views.py
def create_child_with_parent(request):
parent = Parent.objects.create(name='Parent')
child = Child.objects.create(name='Child', parent=parent)
return HttpResponse('Child created successfully with a parent.')
通过上述示例代码,你可以根据具体情况选择适合的解决方法来解决“保存对象后,外键为空”的问题。