Answer a question

I have 2 apps installed in my Django Project "aplikacja"

The first one named: "Godzina"

from django.db import models

class Godzina (models.Model):
        GODZINA = (
        ('19', '19'),
        ('20', '20'),
        ('21', '21'),
        )
        godzina = models.CharField(max_length=6, choices=GODZINA, verbose_name='jezyk')

and the second named: "UserProfile"

from django.db import models
from django.contrib.auth.models import User
from godzina.models import Godzina

class UserProfile(models.Model):
    czas = models.ForeignKey('Godzina')   
    user = models.OneToOneField(User)

I'm getting such error:

userprofile.UserProfile.czas: (fields.E300) Field defines a relation with model 'Godzina', which is either not installed, or is abstract.

What does it mean? I would like that User can only pick such time as an administrator put in the app "Godzina" For example I'm defining hours 19 pm, 20 pm and then user can choose those values in UserProfile app

Is it possible to fix this problem?

Answers

You should add the app name to the related model name in the FK definition:

czas = models.ForeignKey('firstapp.Godzina') 
Logo

Python社区为您提供最前沿的新闻资讯和知识内容

更多推荐