Django / Sqlite3 Добавьте ряд для модели с внешним ключом

Я новичок как django и sqlite3. У меня есть модель (человек), с внешним ключом к (Person_Type):

class Person(models.Model):
    name = models.CharField(max_length=500)
    pers_type = models.ForeignKey(Person_Type)

    def __unicode__(self):
        return self.name

class Person_Type(models.Model):
    pers_type = models.CharField(max_length=40)

    def __unicode__(self):
        return self.pers_type

Я пытаюсь добавить записи к человеку, используя корпус Python Manage.py.

До сих пор я пробовал:

import sqlite3
from trials.models import *

conn = sqlite3.connect('privy.db')
print Person #this returns <class 'privy.trials.models.Person'>
cur = conn.cursor()
fields = ['name', 'pers_type']
row = ['Adam', 'Appellant']
Person.objects.create(**dict(zip(fields, row)))

, но это возвращает ошибку: ValuctionError: не может назначить «appellant»: «Person.Pers_Type» должен быть экземпляром «Person_Type».

Строка «appellant» уже хранится как одно из значений в таблице «Person_Type.pers_type». Что мне нужно изменить, чтобы сделать это, чтобы ссылаться на поле Pers_Type?

Счастливы предоставить более подробную информацию, если это необходимо. Большое спасибо за ваше время.

5
задан Adam 6 September 2011 в 14:06
поделиться