I am using Django and Django Rest Framework 2.4.0
I get the Attribute error type object 'Notification' has no attribute 'objects'
models.py
class Notification(models.Model):
NOTIFICATION_ID = models.AutoField(primary_key=True)
user = models.ForeignKey(User, related_name='user_notification')
type = models.ForeignKey(NotificationType)
join_code = models.CharField(max_length=10, blank=True)
requested_userid = models.CharField(max_length=25, blank=True)
datetime_of_notification = models.DateTimeField()
is_active = models.BooleanField(default=True)
serializers.py:
class NotificationSerializer(serializers.ModelSerializer):
class Meta:
model = Notification
fields = (
'type',
'join_code',
'requested_userid',
'datetime_of_notification'
)
api.py:
class Notification(generics.ListAPIView):
serializer_class = NotificationSerializer
def get_queryset(self):
notifications = Notification.objects.all()
return notifications
Can anybody help me to figure this out? It fails in api.py
at the line notifications = Notification.objects.all()
Add
objects = models.Manager()
to your model, or any other custom manager that you are using and/or define.The line
notifications = Notification.objects.all()
is referencing theNotification
class defined in api.py and not models.py.The easiest way to fix this error is to rename the
Notification
class in either api.py or models.py so that you can refer to your model properly. Another option would be to use named imports: