0

PowerShellでDjango1.4.3を使用していますpython manage.pyが、例外値を指定して実行した 後、データベースエラーが発生します。

(1054, "Unknown column 'ventas_cliente.apellidos' in 'field list'")

したがって、私はDjangoチュートリアルに従っており、プロジェクト用に次のディレクトリがあります。

demo/
    demo/
        apps/
            ventas/
                __init__.py
                admin.py
                models.py
                tests.py
                views.py
            __init.py
        __init__.py
        settings.py
        urls.py
        wsgi.py
 manage

そしてadmin.pyの下で私は持っています:

from django.contrib import admin
from demo.apps.ventas.models import cliente.producto

# Register the ventas models
admin.site.register(cliente)
admin.site.register(producto)

そしてmodels.pyから、

from django.db import models

class cliente(models.Model):
    nombre      = models.CharField(max_length=200)
    apellidos    = models.CharField(max_length=200)
    status      = models.BooleanField(default=True)

class producto(models.Model):
    nombre      = models.CharField(max_length=200)
    descripcion = models.TextField(max_length=300)
    status      = models.BooleanField(default=True)

MySQLを使用しており、データベースを変更していません。runserver動作し、localhost:8000/adminにアクセスできます。そこで、「cliente」と「producto」のサブカテゴリを持つ「ventas」という新しいカテゴリがあります。「producto」にアクセスできますが、「cliente」でデータベースエラーが発生します。

何が悪いようですか?私のmodels.pyファイルに関係しているのではないかと思いますが、理由はわかりません。

4

1 に答える 1

-1

model.py とコードが同期していません。

指図

$ python manage.py syncdb 

は何ですか

モデルを調べて、そのモデルのテーブルが存在しない場合は、テーブルと一致するフィールドを作成します。テーブル存在する場合、テーブルに対して何もしません。そのため、フィールドを追加した場合、「syncdb」は、そのように聞こえますが、最後の syncdb 以降に追加されたフィールドをデータベースに作成しません。

モデルとコードを同期させたい場合は、syncdb がテーブルを作成するように、テーブルを削除する必要があります。以下を使用できます。

$ python manage.py flush  

「syncdb を実行した直後の状態にデータベースを戻す」ためです。ソース。https://docs.djangoproject.com/en/dev/ref/django-admin/#flush

于 2013-02-13T20:50:19.873 に答える