djongo を使用して django でアプリケーションを作成し、mongodb と通信しようとしています。私は次のモデルを持っています:
from djongo import models
from django import forms
class Blog(models.Model):
name = models.CharField(max_length=100)
tagline = models.TextField()
class Meta:
abstract = True
class BlogForm(forms.ModelForm):
class Meta:
model = Blog
fields = (
'__all__'
)
class MetaData(models.Model):
# pub_date = models.DateField()
# mod_date = models.DateField()
n_pingbacks = models.CharField(max_length=255)
rating = models.CharField(max_length=255)
class Meta:
abstract = True
class MetaDataForm(forms.ModelForm):
class Meta:
model = MetaData
fields = (
'__all__'
)
class Author(models.Model):
name = models.CharField(max_length=200)
email = models.EmailField()
def __str__(self):
return self.name
class AuthorForm(forms.ModelForm):
class Meta:
model = Author
fields = (
'name', 'email'
)
class Entry(models.Model):
blog = models.EmbeddedModelField(
model_container=Blog,
model_form_class=BlogForm
)
meta_data = models.EmbeddedModelField(
model_container=MetaData,
model_form_class=MetaDataForm
)
headline = models.CharField(max_length=255)
body_text = models.TextField()
authors = models.ArrayReferenceField(
to=Author,
on_delete=models.CASCADE,
)
n_comments = models.CharField(max_length=255)
def __str__(self):
return self.headline
しかし、django admin を使用して新しいエントリを作成すると、次のエラーが表示されます。
/admin/app/entry/add/ の TypeError int() 引数は、「set」ではなく、文字列、バイトのようなオブジェクト、または数値でなければなりません リクエスト方法: POST リクエスト URL: http://localhost:8000/admin/ app/entry/add/ Django バージョン: 2.1.3 例外の種類: TypeError 例外の値: int() 引数は、'set' ではなく、文字列、バイトのようなオブジェクト、または数値でなければなりません 例外の場所: C:\Users\scg \Documents\Rest_project\envschool\lib\site-packages\django\db\models\fields__init__.py in get_prep_value、行 965 Python 実行可能ファイル: C:\Users\scg\Documents\Rest_project\envschool\Scripts\python.exe Python バージョン: 3.7.1 Python パス:
['C:\Users\scg\Documents\Rest_project\djongoproj2', 'C:\Users\scg\Documents\Rest_project\envschool\Scripts\python37.zip', 'C:\Users\scg\AppData\Local\Programs \Python\Python37-32\DLLs', 'C:\Users\scg\AppData\Local\Programs\Python\Python37-32\lib', 'C:\Users\scg\AppData\Local\Programs\Python\Python37 -32', 'C:\Users\scg\Documents\Rest_project\envschool', 'C:\Users\scg\Documents\Rest_project\envschool\lib\site-packages']
どうすればこれを解決できますか。
私はdjango 2.1.3とdjongo 1.2.30を使用しています