from django.db import models


class Foo(models.Model):
    name = models.CharField(max_length=50)
    friend = models.CharField(max_length=50, blank=True)


class Bar(models.Model):
    name = models.CharField(max_length=50)
    normal = models.ForeignKey(Foo, models.CASCADE, related_name="normal_foo")
    fwd = models.ForeignKey("Whiz", models.CASCADE)
    back = models.ForeignKey("Foo", models.CASCADE)


class Whiz(models.Model):
    name = models.CharField(max_length=50)


class Child(models.Model):
    parent = models.OneToOneField("Base", models.CASCADE)
    name = models.CharField(max_length=50)


class Base(models.Model):
    name = models.CharField(max_length=50)


class Article(models.Model):
    name = models.CharField(max_length=50)
    text = models.TextField()
    submitted_from = models.GenericIPAddressField(blank=True, null=True)