[Answer]-Join two models together using a common column

1👍

✅

change your models.py like this:

class TProfiles(models.Model):
    first_name = models.CharField(max_length=45, blank=True)
    surname = models.CharField(max_length=45, blank=True)
    email = models.CharField(max_length=45, blank=True)
    unique_id = models.CharField(max_length=100, blank=True)

    class Meta:
        managed = False
        db_table = 'profiles'

class Photo( models.Model ):
    file = models.FileField( upload_to = settings.MEDIA_ROOT )
    file_name = models.CharField(max_length=45, blank=True)
    unique_id = models.CharField(max_length=100, blank=True)
    event_location_time = models.ForeignKey(TProfiles)      

    def extension(self):
        name, extension = os.path.splitext(self.file.name)
        return extension

And change your view like this:

def register(request):
    profiles = TProfiles.objects.all()

    return render_to_response("register.html", {
        "form": form, "profiles": profiles,
    }, RequestContext(request))  

And in your template you can use :

{% for profile in profiles %}
    #access to profile object
    {% for photo in profile.photo_set.all %}
     #access to each profile photo object
    {% endfor %} 
{% endfor %}

Leave a comment