Giter Site home page Giter Site logo

Comments (14)

arthurio avatar arthurio commented on August 24, 2024 5

@pymarco I'm just seing this but AutoOneToOneField won't create a related object unless you try to access it.

a = Alpha.objects.create()
Beta.objects.count()
# 0
a.beta
# <Beta: Beta object>
Beta.objects.count()  # 1

from django-annoying.

pymarco avatar pymarco commented on August 24, 2024

It is not working for me either.

class Alpha(models.Model):
  ...

class Beta(models.Model):
   alpha = AutoOneToOneField(Alpha, primary_key=True, on_delete=models.CASCADE)

I created an Alpha object and no corresponding Beta object was created.

from django-annoying.

skorokithakis avatar skorokithakis commented on August 24, 2024

Hmm, can anyone see what the problem is, or submit a PR to fix it?

from django-annoying.

usunyu avatar usunyu commented on August 24, 2024

@arthurio thanks, its worked for me on Django 1.10, python 2.7

from django-annoying.

littlehome-eugene avatar littlehome-eugene commented on August 24, 2024

It is not working for me either.

django 1.9.7
annoying: 0.9.0

from django-annoying.

arthurio avatar arthurio commented on August 24, 2024

@littlehome-eugene We are going to need more details than that to figure out what is not working for you...

from django-annoying.

moorchegue avatar moorchegue commented on August 24, 2024

Same here. Django 1.11.2, annoying 0.10.3.

Under some circumstances objects are being created, but what those are I haven't figured out yet.

from django-annoying.

eduardocesar avatar eduardocesar commented on August 24, 2024

Not working for me either.
Django 1.11.6, python 2.7, annoying 0.10.3.

from django-annoying.

arthurio avatar arthurio commented on August 24, 2024

@eduardocesar @moorchegue I don't see how we can possibly help you without more details... Did you read my previous comment ?

from django-annoying.

eduardocesar avatar eduardocesar commented on August 24, 2024

@arthurio I've tried to access the related object after the creation of the primary object and did not appear. With some investigation, it seems that it was a boolean field in the related object that was preventing it's creation.

from django-annoying.

sdawodu avatar sdawodu commented on August 24, 2024

Doesn't work for me either:

class PatientRecord(models.Model):

	checkup_interval = models.IntegerField(default=180)

class Patient(models.Model):
        name = models.CharField(max_length=64)
	# date_of_birth = models.DateField()
	record = AutoOneToOneField(PatientRecord, on_delete=models.CASCADE)

	registration_date = models.DateField()
	last_visit = models.DateField(blank=True, null=True)

	# Keep track of how many times we're sending messsages to people
	# to make sure we don't spam them
	appointment_reminder_attempt = models.IntegerField(default=0)

	email_address = models.EmailField(blank=True, null=True)

Creating a Patient object does not automatically create a PatientRecord. I've tried creating via the admin as well as via the shell. Doesn't seem to work either way.

Django==2.0
django-annoying==0.10.3

from django-annoying.

hiamandeep avatar hiamandeep commented on August 24, 2024

@arthurio Thanks, accessing the related object creates it.

http://www.techinfected.net/2018/02/automatically-create-onetoonefield-in-django.html

from django-annoying.

albrnick avatar albrnick commented on August 24, 2024

Is primary_key=True required for this to work?

My model is defined as such:

class CrmCategory(models.Model):
    stats_list_direct = AutoOneToOneField('CrmCategoryStatsList',
                                          null = True,
                                          related_name = 'direct_category',
                                          help_text = 'What stats to list, as defined by this category directly.')
    stats_list_union = AutoOneToOneField('CrmCategoryStatsList',
                                         null = True,
                                         related_name = 'union_category',
                                         help_text = 'An or''ing of the direct stats, and the children''s stats_list_union')


And yet when I access it, I get a None:

    cat = CrmCategory.objects.all().first()
    print('union',  cat.stats_list_union)

from django-annoying.

arthurio avatar arthurio commented on August 24, 2024

@albrnick You want to put the AutoOneToOneField on the CrmCategoryStatsList model instead:

class CrmCategoryStatsList(models.Model):
    category = AutoOneToOneField(...)

from django-annoying.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.