0

Django プロジェクト内に 2 つのアプリがあります。あるアプリから別のアプリにモデルをインポートしたいと考えています。しかし、それは私に与えます

NameError: 名前 'JobGenre' が定義されていません

syncdbしようとすると

customer.models

from job.models import JobGenre
class Worker(Costumer):
   keyword=models.ForeignKey(JobGenre, null=True)

そしてjob.models

class JobGenre(models.Model):
    genre=models.CharField(max_length=40)

私が使用する場合

keyword=models.ForeignKey('job.models.JobGenre', null=True)

それは与えます

エラー: 1 つ以上のモデルが検証されませんでした: costumer.worker: 'keyword' はモデル job.models.JobGenre と関係がありますが、これはインストールされていないか抽象的です。

この状況で私は何をすべきですか?

4

2 に答える 2

0

ForeignKey メソッドに完全なパッケージ パスを指定する必要はありません。appname.modelclass を指定するだけで機能します。

keyword=models.ForeignKey('job.JobGenre', null=True)

動作するはずです。こちらをご参照ください

于 2013-04-19T13:38:36.580 に答える
0
keyword=models.ForeignKey('job.models.JobGenre', null=True)

私には正しくないように見えます。

代わりに試してください:

keyword.models.ForeignKey('job.JobGenre', null=True)
于 2013-04-19T13:33:17.443 に答える