2017-03-27 2 views
0

Ich bin neu in Django und ich habe gerade angefangen, es mit Djaango zu lernen, aber ich bekomme Fehlermeldungen. Hier ist mein TracebackModul 'django.db.models' hat kein Attribut 'Fremdschlüssel'

C:\Users\Harsley\shop>python manage.py makemigrations 
Traceback (most recent call last): 
    File "manage.py", line 10, in <module> 
    execute_from_command_line(sys.argv) 
    File "C:\Users\Harsley\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\core\management\__init__.py", line 354, in execute_from_command_line 
    utility.execute() 
    File "C:\Users\Harsley\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\core\management\__init__.py", line 328, in execute 
    django.setup() 
    File "C:\Users\Harsley\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\__init__.py", line 18, in setup 
    apps.populate(settings.INSTALLED_APPS) 
    File "C:\Users\Harsley\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\apps\registry.py", line 108, in populate 
    app_config.import_models(all_models) 
    File "C:\Users\Harsley\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\apps\config.py", line 198, in import_models 
    self.models_module = import_module(models_module_name) 
    File "C:\Users\Harsley\AppData\Local\Programs\Python\Python36-32\lib\importlib\__init__.py", line 126, in import_module 
    return _bootstrap._gcd_import(name[level:], package, level) 
    File "<frozen importlib._bootstrap>", line 978, in _gcd_import 
    File "<frozen importlib._bootstrap>", line 961, in _find_and_load 
    File "<frozen importlib._bootstrap>", line 950, in _find_and_load_unlocked 
    File "<frozen importlib._bootstrap>", line 655, in _load_unlocked 
    File "<frozen importlib._bootstrap_external>", line 678, in exec_module 
    File "<frozen importlib._bootstrap>", line 205, in _call_with_frames_removed 
    File "C:\Users\Harsley\shop\shops\models.py", line 16, in <module> 
    class Product(models.Model): 
    File "C:\Users\Harsley\shop\shops\models.py", line 17, in Product 
    category = models.Foreignkey(Category,related_name='products') 
AttributeError: module 'django.db.models' has no attribute 'Foreignkey' 

Dies ist die Modell-Datei, und ich habe es durchgemacht, und es scheint, dass ich keinen Fehler gemacht habe. i

from django.db import models 

# Create your models here. 
class Category(models.Model): 
    name = models.CharField(max_length=200, db_index=True) 
    slug = models.SlugField(max_length=200, db_index=True, unique = True) 

    class Meta: 
     ordering = ('name',) 
     verbose_name = 'category' 
     verbose_name_plural = 'categories' 

     def ___str__(self): 
      return self.name 

class Product(models.Model): 
    category = models.Foreignkey(Category,related_name='products') 
    name = models.CharField(max_length=200, db_index=True) 
    slug = models.SlugField(max_length=200, db_index=True) 
    image = models.ImageField(upload_to='products/%Y/%m/%d', blank=True) 
    description = models.TextField(blank=True) 
    price = models.DecimalField(max_digits=10, decimal_places=2) 
    stock = models.PositiveIntegerField() 
    available = models.BooleanField(default=True) 
    created = models.DateTimeField(auto_now_add=True) 
    updated = models.DateTimeField(auto_now=True) 

    class Meta: 
     ordering = ('name',) 
     index_together = (('id', 'slug'),) 

    def __str__(self): 
     return self.name 

Antwort

1
class Product(models.Model): 
    category = models.ForeignKey(Category,related_name='products') 
    name = models.CharField(max_length=200, db_index=True) 
    slug = models.SlugField(max_length=200, db_index=True) 
    image = models.ImageField(upload_to='products/%Y/%m/%d', blank=True) 
    description = models.TextField(blank=True) 
    price = models.DecimalField(max_digits=10, decimal_places=2) 
    stock = models.PositiveIntegerField() 
    available = models.BooleanField(default=True) 
    created = models.DateTimeField(auto_now_add=True) 
    updated = models.DateTimeField(auto_now=True) 

    class Meta: 
     ordering = ('name',) 
     index_together = (('id', 'slug'),) 

    def __str__(self): 
     return self.name 
+0

Oh Mann! Du hast das Adlerauge;) –

+0

Danke Mann es hat geklappt –

Verwandte Themen