对djongo和djang使用ArrayReferenceField时出现问题

2024-10-01 22:31:56 发布

您现在位置:Python中文网/ 问答频道 /正文

尝试使用djongo与djongo进行通信。我有以下型号:

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创建一个新条目时,我得到的错误是:

TypeError at /admin/app/entry/add/ int() argument must be a string, a bytes-like object or a number, not 'set' Request Method: POST Request URL: http://localhost:8000/admin/app/entry/add/ Django Version: 2.1.3 Exception Type: TypeError Exception Value: int() argument must be a string, a bytes-like object or a number, not 'set' Exception Location: C:\Users\scg\Documents\Rest_project\envschool\lib\site-packages\django\db\models\fields__init__.py in get_prep_value, line 965 Python Executable: C:\Users\scg\Documents\Rest_project\envschool\Scripts\python.exe Python Version: 3.7.1 Python Path:
['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


Tags: djangoprojectrestmodelmodelslengthusersmax

热门问题