{"action":"created","issue":{"url":"https://api.github.com/repos/tomchristie/django-rest-framework/issues/2630","labels_url":"https://api.github.com/repos/tomchristie/django-rest-framework/issues/2630/labels{/name}","comments_url":"https://api.github.com/repos/tomchristie/django-rest-framework/issues/2630/comments","events_url":"https://api.github.com/repos/tomchristie/django-rest-framework/issues/2630/events","html_url":"https://github.com/tomchristie/django-rest-framework/issues/2630","id":59726289,"number":2630,"title":"Should ModelSerializer support abstract models?","user":{"login":"cancan101","id":51059,"avatar_url":"https://avatars.githubusercontent.com/u/51059?v=3","gravatar_id":"","url":"https://api.github.com/users/cancan101","html_url":"https://github.com/cancan101","followers_url":"https://api.github.com/users/cancan101/followers","following_url":"https://api.github.com/users/cancan101/following{/other_user}","gists_url":"https://api.github.com/users/cancan101/gists{/gist_id}","starred_url":"https://api.github.com/users/cancan101/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cancan101/subscriptions","organizations_url":"https://api.github.com/users/cancan101/orgs","repos_url":"https://api.github.com/users/cancan101/repos","events_url":"https://api.github.com/users/cancan101/events{/privacy}","received_events_url":"https://api.github.com/users/cancan101/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/tomchristie/django-rest-framework/labels/Needs%20design%20decision","name":"Needs design decision","color":"c7def8"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":10,"created_at":"2015-03-03T23:41:34Z","updated_at":"2015-03-06T10:08:55Z","closed_at":null,"body":"With:\r\n```python\r\nclass FullName(models.Model):\r\n    name_first = models.CharField(max_length=200, blank=True)\r\n...\r\n    class Meta:\r\n        abstract = True\r\n\r\nclass Person(FullName, models.Model):\r\n...\r\n```\r\n\r\nI am trying:\r\n```\r\nclass FullNameSerializer(serializers.ModelSerializer):\r\n    class Meta:\r\n        model = FullName\r\n\r\nclass PersonSerializer(serializers.ModelSerializer):\r\n    full_name = FullNameSerializer(source='*')\r\n    class Meta:\r\n        model = Person\r\n```\r\n\r\nbut I get:\r\n```\r\nAttributeError at /api/XXXXX/\r\n'NoneType' object has no attribute 'rel'\r\nRequest Method:\tGET\r\nRequest URL:\thttp://127.0.0.1:8033/api/XXXXX/\r\nDjango Version:\t1.7.5\r\nException Type:\tAttributeError\r\nException Value:\t\r\n'NoneType' object has no attribute 'rel'\r\n```\r\n"},"comment":{"url":"https://api.github.com/repos/tomchristie/django-rest-framework/issues/comments/77535401","html_url":"https://github.com/tomchristie/django-rest-framework/issues/2630#issuecomment-77535401","issue_url":"https://api.github.com/repos/tomchristie/django-rest-framework/issues/2630","id":77535401,"user":{"login":"tomchristie","id":647359,"avatar_url":"https://avatars.githubusercontent.com/u/647359?v=3","gravatar_id":"","url":"https://api.github.com/users/tomchristie","html_url":"https://github.com/tomchristie","followers_url":"https://api.github.com/users/tomchristie/followers","following_url":"https://api.github.com/users/tomchristie/following{/other_user}","gists_url":"https://api.github.com/users/tomchristie/gists{/gist_id}","starred_url":"https://api.github.com/users/tomchristie/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tomchristie/subscriptions","organizations_url":"https://api.github.com/users/tomchristie/orgs","repos_url":"https://api.github.com/users/tomchristie/repos","events_url":"https://api.github.com/users/tomchristie/events{/privacy}","received_events_url":"https://api.github.com/users/tomchristie/received_events","type":"User","site_admin":false},"created_at":"2015-03-06T10:08:55Z","updated_at":"2015-03-06T10:08:55Z","body":"Acceptable resolutions:\r\n\r\n* Raise an exception loudly when used with an abstract model.\r\n* Gracefully ignore any pk/url/relationships fields (sounds like a recipe for just introducing complexity and confusing folks)\r\n\r\nFirst def sounds preferable to me."}}