これらのモデルはdjangoの2つの異なるアプリケーションにあります。私は、2つのテーブルの間に主キーと外部キーの関係を作成しましたが、出力は望ましい出力ではありません。djangoのモデルでの外部キーと主キーの関係
class User(models.Model):
user_name = models.CharField(max_length=255, default=None)
email = models.CharField(max_length=255, default=None)
mobile_number = models.IntegerField(default=0)
created_on = models.DateTimeField(auto_now=True)
class Todo(models.Model):
title = models.CharField(max_length=255, default=None)
description = models.CharField(max_length=255, default=None)
created_on = models.DateTimeField(auto_now=True)
user = models.ForeignKey('Account.User',on_delete=models.CASCADE)
私はUser
テーブルにエントリを作成し、割り当てられたIDが1
であると仮定し、私はまた、(規則に従って有効な値ではない)user_id = 2
とTodo
テーブルにエントリを作成することができ、そしてエントリが作成されます。いずれかがなぜ示唆できますか? Pythonシェルで
:
from Account.models import User
my_user = (user_name = "Abhis", email = "[email protected]", mobile_number = "9999999999", created_on = datetime.datetime.today())
my_user.save()
# it will create a row with id 1.
from ToDo.models import Todo
my_todo = (title = "title", description = "description", created_on = datetime.datetime.today(), user_id = 4)
my_todo.save()
# the row with this user_id = 4 is created, which must be illegal
は、オブジェクトを作成するために作成したコードを共有します。 – badiya
実際には、フィールドは 'user'ではなく' user_id'です。また、文法エラーなしでコードを貼り付けることもできます。 –
user_idカラムはデータベース自体で作成されているので、それを使用しています –