1. """
    
  2. Regression tests for proper working of ForeignKey(null=True).
    
  3. """
    
  4. 
    
  5. from django.db import models
    
  6. 
    
  7. 
    
  8. class SystemDetails(models.Model):
    
  9.     details = models.TextField()
    
  10. 
    
  11. 
    
  12. class SystemInfo(models.Model):
    
  13.     system_details = models.ForeignKey(SystemDetails, models.CASCADE)
    
  14.     system_name = models.CharField(max_length=32)
    
  15. 
    
  16. 
    
  17. class Forum(models.Model):
    
  18.     system_info = models.ForeignKey(SystemInfo, models.CASCADE)
    
  19.     forum_name = models.CharField(max_length=32)
    
  20. 
    
  21. 
    
  22. class Post(models.Model):
    
  23.     forum = models.ForeignKey(Forum, models.SET_NULL, null=True)
    
  24.     title = models.CharField(max_length=32)
    
  25. 
    
  26.     def __str__(self):
    
  27.         return self.title
    
  28. 
    
  29. 
    
  30. class Comment(models.Model):
    
  31.     post = models.ForeignKey(Post, models.SET_NULL, null=True)
    
  32.     comment_text = models.CharField(max_length=250)
    
  33. 
    
  34.     class Meta:
    
  35.         ordering = ("comment_text",)
    
  36. 
    
  37. 
    
  38. # Ticket 15823
    
  39. 
    
  40. 
    
  41. class Item(models.Model):
    
  42.     title = models.CharField(max_length=100)
    
  43. 
    
  44. 
    
  45. class PropertyValue(models.Model):
    
  46.     label = models.CharField(max_length=100)
    
  47. 
    
  48. 
    
  49. class Property(models.Model):
    
  50.     item = models.ForeignKey(Item, models.CASCADE, related_name="props")
    
  51.     key = models.CharField(max_length=100)
    
  52.     value = models.ForeignKey(PropertyValue, models.SET_NULL, null=True)