2016-03-21 6 views
0

jeder: Ich versuche zu üben Integration von Django mit einer Legacy-Datenbank mit Django 1.8, MySQL Db, aber es hat keinen Erfolg, kann mir jemand sagen, was passiert? Vielen Dank sehr viel! meine LegacydatenbankIntegration von Django mit einer alten Datenbank funktioniert nicht

models.py

# -*- coding: utf-8 -*- 
from django.db import models 
from django.utils import timezone 


class blog(models.Model): 
    name = models.CharField(max_length=255) 
    description = models.TextField() 
    slug = models.SlugField(unique=True) 
    date_time = models.DateTimeField(auto_now_add = True) 

    def __unicode__(self): 
     return self.name 



def get_image_path(instance, filename): 
    return '/'.join(['blog_images', instance.bupimg.slug, filename]) 

class Upload(models.Model): 
    bupimg = models.ForeignKey(blog, related_name="uploads") 
    image = models.ImageField(upload_to=get_image_path) 

und ich folge nur den doc here

, nachdem ich den Befehl enter image description here

warum meine pidapp/Modelle geben .py zeigt sehr unterschiedliche t han die models.py

pidapp/models.py

# This is an auto-generated Django model module. 
# You'll have to do the following manually to clean this up: 
# * Rearrange models' order 
# * Make sure each model has one field with primary_key=True 
# * Remove `managed = False` lines if you wish to allow Django to create, modify, and delete the table 
# Feel free to rename the models, but don't rename db_table values or field names. 
# 
# Also note: You'll have to insert the output of 'django-admin sqlcustom [app_label]' 

# into your database. 

from __future__ import unicode_literals 

from django.db import models 


class AuthGroup(models.Model): 
    name = models.CharField(unique=True, max_length=80) 

    class Meta: 
     managed = False 
     db_table = 'auth_group' 


class AuthGroupPermissions(models.Model): 
    group = models.ForeignKey(AuthGroup) 
    permission = models.ForeignKey('AuthPermission') 

    class Meta: 
     managed = False 
     db_table = 'auth_group_permissions' 
     unique_together = (('group', 'permission'),) 


class AuthPermission(models.Model): 
    name = models.CharField(max_length=255) 
    content_type = models.ForeignKey('DjangoContentType') 
    codename = models.CharField(max_length=100) 

    class Meta: 
     managed = False 
     db_table = 'auth_permission' 
     unique_together = (('content_type', 'codename'),) 


class AuthUser(models.Model): 
    password = models.CharField(max_length=128) 
    last_login = models.DateTimeField(blank=True, null=True) 
    is_superuser = models.IntegerField() 
    username = models.CharField(unique=True, max_length=30) 
    first_name = models.CharField(max_length=30) 
    last_name = models.CharField(max_length=30) 
    email = models.CharField(max_length=254) 
    is_staff = models.IntegerField() 
    is_active = models.IntegerField() 
    date_joined = models.DateTimeField() 

    class Meta: 
     managed = False 
     db_table = 'auth_user' 


class AuthUserGroups(models.Model): 
    user = models.ForeignKey(AuthUser) 
    group = models.ForeignKey(AuthGroup) 

    class Meta: 
     managed = False 
     db_table = 'auth_user_groups' 
     unique_together = (('user', 'group'),) 


class AuthUserUserPermissions(models.Model): 
    user = models.ForeignKey(AuthUser) 
    permission = models.ForeignKey(AuthPermission) 

    class Meta: 
     managed = False 
     db_table = 'auth_user_user_permissions' 
     unique_together = (('user', 'permission'),) 


class BloggingBlog(models.Model): 
    name = models.CharField(max_length=255) 
    description = models.TextField() 
    slug = models.CharField(unique=True, max_length=50) 
    date_time = models.DateTimeField() 

    class Meta: 
     managed = False 
     db_table = 'blogging_blog' 


class BloggingUpload(models.Model): 
    bupimg = models.ForeignKey(BloggingBlog) 
    image = models.CharField(max_length=100) 

    class Meta: 
     managed = False 
     db_table = 'blogging_upload' 


class DjangoAdminLog(models.Model): 
    action_time = models.DateTimeField() 
    object_id = models.TextField(blank=True, null=True) 
    object_repr = models.CharField(max_length=200) 
    action_flag = models.SmallIntegerField() 
    change_message = models.TextField() 
    content_type = models.ForeignKey('DjangoContentType', blank=True, null=True) 
    user = models.ForeignKey(AuthUser) 

    class Meta: 
     managed = False 
     db_table = 'django_admin_log' 


class DjangoContentType(models.Model): 
    app_label = models.CharField(max_length=100) 
    model = models.CharField(max_length=100) 

    class Meta: 
     managed = False 
     db_table = 'django_content_type' 
     unique_together = (('app_label', 'model'),) 


class DjangoMigrations(models.Model): 
    app = models.CharField(max_length=255) 
    name = models.CharField(max_length=255) 
    applied = models.DateTimeField() 

    class Meta: 
     managed = False 
     db_table = 'django_migrations' 


class DjangoSession(models.Model): 
    session_key = models.CharField(primary_key=True, max_length=40) 
    session_data = models.TextField() 
    expire_date = models.DateTimeField() 

    class Meta: 
     managed = False 
     db_table = 'django_session' 


class RegistrationRegistrationprofile(models.Model): 
    activation_key = models.CharField(max_length=40) 
    user = models.ForeignKey(AuthUser, unique=True) 
    activated = models.IntegerField() 

    class Meta: 
     managed = False 
     db_table = 'registration_registrationprofile' 

Vermächtnis Datenbank dachte ich, die pidapp/models.py als die Legacy-Datenbank models.py gleich sein sollte

Antwort

4

Was Du machst keinen Sinn. Sie haben bereits eine models.py, warum versuchen Sie, eine neue zu erstellen? Eine "Legacy-DB" bezieht sich in diesem Zusammenhang auf eine Datenbank, die außerhalb von Django erstellt wurde und daher keine models.py hat. Es gibt absolut keinen Grund, inspectdb für eine Datenbank auszuführen, für die bereits Modelle definiert sind.

(Plus, sind die erzeugten Modelle richtig, trotzdem, die Datei enthält Modelle für alle vorhandenen Tabellen in Ihrer Datenbank, einschließlich der Blogging sind, aber auch alle anderen Django Tabellen einschließlich Auch hier gibt es keinen Punkt. in running inspectdb hier.)

+0

richtig ,,, eigentlich bin ich nur üben, wenn ich Django mit einer Legacy-Datenbank integrieren kann oder nicht ,, also habe ich eine models.py erstellt und versuche es inspectdb von einem anderen Django-Projekt ,,, aber ich muss wissen, wie kann ich es tun –

+3

Aber Sie * tat * es, und Ihre Modelle wurden korrekt generiert. Was genau ist das Problem mit der Ausgabe, die Sie zeigen? –

+0

Ich dachte, die models.py sollte der gleiche Code sein ,,, aber es hat nicht ,,, Sie meinen in mysql ,, ihre Tabelle bereits integriert? –